From 8cdaecacca00dd10878e8f930ad26112ee8caf47 Mon Sep 17 00:00:00 2001 From: "Lu, John" Date: Mon, 21 Aug 2023 14:05:23 -0700 Subject: [PATCH 1/4] [OpaquePointers] Correctly find leader of equivalence class in type scavenger Signed-off-by: Lu, John --- lib/SPIRV/SPIRVTypeScavenger.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/SPIRV/SPIRVTypeScavenger.cpp b/lib/SPIRV/SPIRVTypeScavenger.cpp index 66f8fbe548..69a8e57f7b 100644 --- a/lib/SPIRV/SPIRVTypeScavenger.cpp +++ b/lib/SPIRV/SPIRVTypeScavenger.cpp @@ -252,7 +252,7 @@ Type *SPIRVTypeScavenger::substituteTypeVariables(Type *T) { } if (auto Index = isTypeVariable(T)) { unsigned TypeVarNum = *Index; - TypeVarNum = UnifiedTypeVars.join(TypeVarNum, TypeVarNum); + TypeVarNum = UnifiedTypeVars.findLeader(TypeVarNum); Type *&SubstTy = TypeVariables[TypeVarNum]; // A value in TypeVariables may itself contain type variables that need to // be substituted. Substitute these as well. @@ -273,9 +273,7 @@ bool SPIRVTypeScavenger::unifyType(Type *T1, Type *T2) { return true; auto SetTypeVar = [&](unsigned TypeVarNum, Type *ActualTy) { - // .findLeader doesn't work in uncompressed mode, so use .join with itself - // to find the leader. - unsigned Leader = UnifiedTypeVars.join(TypeVarNum, TypeVarNum); + unsigned Leader = UnifiedTypeVars.findLeader(TypeVarNum); // This method might be called with T1 as a concrete type containing // pointers, and we want to make sure those don't leak into type variables. @@ -411,7 +409,7 @@ void SPIRVTypeScavenger::typeModule(Module &M) { // them as an i8* type. Type *Int8Ty = Type::getInt8Ty(M.getContext()); for (const auto &[TypeVarNum, TypeVar] : enumerate(TypeVariables)) { - unsigned PrimaryVar = UnifiedTypeVars.join(TypeVarNum, TypeVarNum); + unsigned PrimaryVar = UnifiedTypeVars.findLeader(TypeVarNum); Type *LeaderTy = TypeVariables[PrimaryVar]; if (TypeVar) TypeVar = substituteTypeVariables(TypeVar); From 0274a8b75a93feb46a24758a39fc8620ca1adb80 Mon Sep 17 00:00:00 2001 From: "Lu, John" Date: Mon, 21 Aug 2023 14:58:51 -0700 Subject: [PATCH 2/4] Add testcase Signed-off-by: Lu, John --- test/type-scavenger/equivalence.ll | 136110 ++++++++++++++++++++++++++ 1 file changed, 136110 insertions(+) create mode 100644 test/type-scavenger/equivalence.ll diff --git a/test/type-scavenger/equivalence.ll b/test/type-scavenger/equivalence.ll new file mode 100644 index 0000000000..e431f54f5a --- /dev/null +++ b/test/type-scavenger/equivalence.ll @@ -0,0 +1,136110 @@ +; Ensure that llvm-spirv type scavenging on a large input does not have an +; assertion failure due to incorrect lookup of an equivalence class leader. + +; RUN: llvm-as < %s | llvm-spirv -o %t.spv +; RUN: spirv-val %t.spv +; RUN: llvm-spirv %t.spv -o - -to-text | FileCheck %s --check-prefix=CHECK-SPIRV +; RUN: llvm-spirv %t.spv -o - -r | llvm-dis | FileCheck %s --check-prefix=CHECK-LLVM + +; Incorrect lookup of equivalence class leader caused an assertion failure when +; processing call instruction to this name +; CHECK-SPIRV: _ZN4sycl3_V16marrayIiLm5EEixEm +; CHECK-LLVM: _ZN4sycl3_V16marrayIiLm5EEixEm + +; ModuleID = 'equivalence.bc' +source_filename = "llvm-link" +target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64" +target triple = "spir64-unknown-unknown" + +%"class.sycl::_V1::vec.2018" = type { <3 x i32> } +%"class.sycl::_V1::range" = type { %"class.sycl::_V1::detail::array" } +%"class.sycl::_V1::detail::array" = type { [1 x i64] } +%class.anon.1535 = type { %"class.sycl::_V1::accessor", %class.anon, %"class.sycl::_V1::accessor" } +%class.anon = type { i8 } +%"class.sycl::_V1::accessor" = type { %"class.sycl::_V1::detail::AccessorImplDevice", %union.anon } +%"class.sycl::_V1::detail::AccessorImplDevice" = type { %"class.sycl::_V1::range", %"class.sycl::_V1::range", %"class.sycl::_V1::range" } +%union.anon = type { ptr addrspace(1) } +%"class.sycl::_V1::multi_ptr.1527" = type { ptr addrspace(3) } +%"class.sycl::_V1::vec.52.6" = type { <16 x half> } +%class.anon.1513 = type { %class.anon, %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor" } +%"class.sycl::_V1::marray.7" = type { [2 x %"class.sycl::_V1::detail::half_impl::half"] } +%"class.sycl::_V1::detail::half_impl::half" = type { half } +%"class.sycl::_V1::vec.2" = type { <2 x half> } +%"class.sycl::_V1::marray.91.10" = type { [4 x %"class.sycl::_V1::detail::half_impl::half"] } +%class.anon.1824.213 = type <{ %"class.sycl::_V1::marray.91.10", %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%"class.sycl::_V1::local_accessor" = type { %"class.sycl::_V1::local_accessor_base" } +%"class.sycl::_V1::local_accessor_base" = type { %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(3) } +%"class.sycl::_V1::nd_item" = type { %"class.sycl::_V1::item", %"class.sycl::_V1::item.1524", %"class.sycl::_V1::group" } +%"class.sycl::_V1::item" = type { %"class.sycl::_V1::detail::AccessorImplDevice" } +%"class.sycl::_V1::item.1524" = type { %"struct.sycl::_V1::detail::ItemBase.1525" } +%"struct.sycl::_V1::detail::ItemBase.1525" = type { %"class.sycl::_V1::range", %"class.sycl::_V1::range" } +%"class.sycl::_V1::group" = type { %"class.sycl::_V1::range", %"class.sycl::_V1::range", %"class.sycl::_V1::range", %"class.sycl::_V1::range" } +%class.anon.0 = type <{ %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%"class.sycl::_V1::marray.119.12" = type { [17 x %"class.sycl::_V1::detail::half_impl::half"] } +%"class.sycl::_V1::marray.105.11" = type { [5 x %"class.sycl::_V1::detail::half_impl::half"] } +%"class.sycl::_V1::marray.77.9" = type { [3 x %"class.sycl::_V1::detail::half_impl::half"] } +%"class.sycl::_V1::marray.2297" = type { [4 x i32] } +%"struct.std::array.2215" = type { [1 x i32] } +%"class.sycl::_V1::marray.2250" = type { [3 x i32] } +%"class.sycl::_V1::marray.2202" = type { [2 x i32] } +%class.anon.2223 = type <{ %"class.sycl::_V1::marray.2202", %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%"class.sycl::_V1::marray.2344" = type { [5 x i32] } +%"struct.std::array.2412" = type { [8 x i32] } +%"class.sycl::_V1::multi_ptr" = type { ptr } +%class.anon.2 = type { ptr addrspace(4), ptr addrspace(4), ptr addrspace(4), ptr addrspace(4) } +%"struct.std::array.76.8" = type { [1 x %"class.sycl::_V1::detail::half_impl::half"] } +%"class.sycl::_V1::vec.16.3" = type { <3 x half> } +%struct.privatePtrCheck.2354.236 = type { %"class.sycl::_V1::marray.105.11", %"class.sycl::_V1::marray.2344" } +%"class.sycl::_V1::vec.28.4" = type { <4 x half> } +%struct.privatePtrCheck.1778.210 = type { %"class.sycl::_V1::marray.77.9", %"class.sycl::_V1::marray.77.9" } +%"class.sycl::_V1::vec.40.5" = type { <8 x half> } +%class.anon.1862.215 = type <{ %"class.sycl::_V1::marray.105.11", [6 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%class.anon.1520.196 = type <{ %"class.sycl::_V1::detail::half_impl::half", [6 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%struct.privatePtrCheck.2212.230 = type { %"class.sycl::_V1::marray.7", %"class.sycl::_V1::marray.2202" } +%class.anon.3 = type { ptr addrspace(4), ptr addrspace(4) } +%class.anon.2317 = type <{ %"class.sycl::_V1::marray.2297", %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%struct.privatePtrCheck.1892.216 = type { %"class.sycl::_V1::marray.119.12", %"class.sycl::_V1::marray.119.12" } +%"class.sycl::_V1::vec.1972" = type { <2 x i32> } +%"struct.std::array.141.17" = type { [12 x %"class.sycl::_V1::detail::half_impl::half"] } +%class.anon.1748.209 = type <{ %"class.sycl::_V1::marray.7", [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%class.anon.4 = type { ptr addrspace(4), ptr addrspace(4), ptr addrspace(4) } +%"class.sycl::_V1::marray.2391" = type { [17 x i32] } +%"class.sycl::_V1::vec.2064" = type { <4 x i32> } +%"struct.std::array.2408" = type { [12 x i32] } +%"struct.std::array.2405" = type { [15 x i32] } +%class.anon.2364 = type <{ %"class.sycl::_V1::marray.2344", [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%struct.privatePtrCheck.1816.212 = type { %"class.sycl::_V1::marray.91.10", %"class.sycl::_V1::marray.91.10" } +%"class.sycl::_V1::vec.2156" = type { <16 x i32> } +%"struct.std::array.2409" = type { [11 x i32] } +%class.anon.1786.211 = type <{ %"class.sycl::_V1::marray.77.9", [2 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%"struct.std::array.145.19" = type { [10 x %"class.sycl::_V1::detail::half_impl::half"] } +%class.anon.1900.217 = type <{ %"class.sycl::_V1::marray.119.12", [6 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%struct.privatePtrCheck.1740.208 = type { %"class.sycl::_V1::marray.7", %"class.sycl::_V1::marray.7" } +%class.anon.1945 = type <{ i32, [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%"class.sycl::_V1::vec.2110" = type { <8 x i32> } +%"struct.std::array.143.18" = type { [11 x %"class.sycl::_V1::detail::half_impl::half"] } +%"struct.std::array.147.20" = type { [9 x %"class.sycl::_V1::detail::half_impl::half"] } +%"struct.std::array.149.21" = type { [8 x %"class.sycl::_V1::detail::half_impl::half"] } +%struct.privatePtrCheck.1854.214 = type { %"class.sycl::_V1::marray.105.11", %"class.sycl::_V1::marray.105.11" } +%class.anon.2270 = type <{ %"class.sycl::_V1::marray.2250", [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%struct.privatePtrCheck.1936.218 = type { %"class.sycl::_V1::detail::half_impl::half", i32 } +%"struct.std::array.135.14" = type { [15 x %"class.sycl::_V1::detail::half_impl::half"] } +%"struct.std::array.137.15" = type { [14 x %"class.sycl::_V1::detail::half_impl::half"] } +%"struct.std::array.2406" = type { [14 x i32] } +%struct.privatePtrCheck.2260.232 = type { %"class.sycl::_V1::marray.77.9", %"class.sycl::_V1::marray.2250" } +%"struct.std::array.2410" = type { [10 x i32] } +%"struct.std::array.133.13" = type { [16 x %"class.sycl::_V1::detail::half_impl::half"] } +%struct.privatePtrCheck.2307.234 = type { %"class.sycl::_V1::marray.91.10", %"class.sycl::_V1::marray.2297" } +%struct.privatePtrCheck.195 = type { %"class.sycl::_V1::detail::half_impl::half", %"class.sycl::_V1::detail::half_impl::half" } +%"struct.std::array.153.23" = type { [6 x %"class.sycl::_V1::detail::half_impl::half"] } +%struct.privatePtrCheck.2401.238 = type { %"class.sycl::_V1::marray.119.12", %"class.sycl::_V1::marray.2391" } +%"struct.std::array.2404" = type { [16 x i32] } +%class.anon.2422 = type <{ %"class.sycl::_V1::marray.2391", [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> +%"struct.std::array.2414" = type { [6 x i32] } +%"struct.std::array.2413" = type { [7 x i32] } +%"struct.std::array.2407" = type { [13 x i32] } +%"struct.std::array.139.16" = type { [13 x %"class.sycl::_V1::detail::half_impl::half"] } +%"struct.std::array.2411" = type { [9 x i32] } +%"struct.std::array.151.22" = type { [7 x %"class.sycl::_V1::detail::half_impl::half"] } + +$_ZTS6kernelILi4300468EE = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZZZ14check_functionILi4300258EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE257_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300860EE = comdat any + +$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300488EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE399_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any + +$_ZTS6kernelILi4300983EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZZZ14check_functionILi4300276EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE275_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300152EE = comdat any + +$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300653EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE520_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IDv8_DF16_vEES7_ = comdat any + +$_ZTS6kernelILi4300291EE = comdat any + +$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZTS6kernelILi4300980EE = comdat any + +$_ZTS6kernelILi4300091EE = comdat any + +$_ZN4sycl3_V16detail7Builder10createItemILi1ELb0EEENSt9enable_ifIXntT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm3EEEPS4_EET_T0_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_ = comdat any + +$_ZTS6kernelILi4300327EE = comdat any + +$_ZZZ14check_functionILi4300177EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE176_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300806EE = comdat any + +$_ZZZ14check_functionILi4300318EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE317_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300849EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZTS6kernelILi4301073EE = comdat any + +$_ZTS6kernelILi4300250EE = comdat any + +$_ZTS6kernelILi4300649EE = comdat any + +$_ZTS6kernelILi4300123EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZTS6kernelILi4300348EE = comdat any + +$_ZTS6kernelILi4300094EE = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300816EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300787EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE610_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm4EEEPS6_EET_T0_ = comdat any + +$_ZTS6kernelILi4300509EE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm3EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any + +$_ZTS6kernelILi4300619EE = comdat any + +$_ZZZ14check_functionILi4300763EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE586_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300174EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE173_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev = comdat any + +$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300271EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300355EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any + +$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300791EE = comdat any + +$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300664EE = comdat any + +$_ZTS6kernelILi4301029EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300284EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE283_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300137EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE136_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_ = comdat any + +$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300866EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE653_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300155EE = comdat any + +$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V13vecIiLi16EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300640EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE507_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300191EE = comdat any + +$_ZZZ14check_functionILi4300627EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE494_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300393EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE364_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEcvDv3_DF16_Ev = comdat any + +$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300658EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE525_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEcvDv4_DF16_Ev = comdat any + +$_ZZZ14check_functionILi4300339EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE338_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300119EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE118_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300406EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZTS6kernelILi4300353EE = comdat any + +$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE7_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300808EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any + +$_ZZZ14check_functionILi4300183EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE182_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300455EE = comdat any + +$_ZZZ14check_functionILi4300192EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE191_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300785EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE608_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300213EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE212_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE = comdat any + +$_ZTS6kernelILi4300740EE = comdat any + +$_ZN7__spirv24InitSizesSTWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv = comdat any + +$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300005EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE4_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300261EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE260_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300521EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE432_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300775EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE598_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300343EE = comdat any + +$_ZTS6kernelILi4300036EE = comdat any + +$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EEC2EPU3AS0i = comdat any + +$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16marrayIiLm4EE4sizeEv = comdat any + +$_ZTS6kernelILi4300014EE = comdat any + +$_ZZZ14check_functionILi4300068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE67_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300407EE = comdat any + +$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V12idILi1EEC2Ev = comdat any + +$_ZTS6kernelILi4300332EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZNKSt5arrayIiLm12EEixEm = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300255EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE254_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZZZ14check_functionILi4301009EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE744_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300264EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE263_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300106EE = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEcvDv2_DF16_Ev = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300278EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300297EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE296_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300019EE = comdat any + +$_ZTS6kernelILi4300915EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i = comdat any + +$_ZZZ14check_functionILi4300102EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE101_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZTS6kernelILi4300466EE = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm = comdat any + +$_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm = comdat any + +$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300349EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300992EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE731_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300455EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300414EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_ = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300983EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZTS6kernelILi4300137EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any + +$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300136EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE135_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300594EE = comdat any + +$_ZTS6kernelILi4300048EE = comdat any + +$_ZTS6kernelILi4300782EE = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZZZ14check_functionILi4300039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE38_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN7__spirv15initWorkgroupIdILi1EN4sycl3_V12idILi1EEEEET0_v = comdat any + +$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300386EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300510EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE421_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300653EE = comdat any + +$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZTS6kernelILi4300199EE = comdat any + +$_ZTS6kernelILi4300320EE = comdat any + +$_ZTS6kernelILi4300281EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_ = comdat any + +$_ZZZ14check_functionILi4300923EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE702_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZZZ14check_functionILi4301021EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE756_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayIiLm4EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any + +$_ZNSt14__array_traitsIiLm17EE6_S_refERA17_Kim = comdat any + +$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE4sizeEv = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm2EEES6_EET_T0_ = comdat any + +$_ZZZ14check_functionILi4300901EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE680_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300612EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE479_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300877EE = comdat any + +$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300754EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any + +$_ZTS6kernelILi4300926EE = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300401EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZZZ14check_functionILi4300090EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE89_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS3NS1_9half_impl4halfEPS4_EET_T0_ = comdat any + +$_ZTS6kernelILi4300027EE = comdat any + +$_ZN4sycl3_V13logENS0_6detail9half_impl4halfE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300758EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300128EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE127_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEvEET_RT0_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZTS6kernelILi4300238EE = comdat any + +$_ZTS6kernelILi4300208EE = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4301049EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm17EEES8_EET_T0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300971EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4300589EE = comdat any + +$_ZTS6kernelILi4300261EE = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIiEPU3AS3T_Pv = comdat any + +$_ZTS6kernelILi4300069EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4300628EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300252EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE251_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE79_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300634EE = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any + +$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300162EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE161_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300916EE = comdat any + +$_ZTS6kernelILi4300262EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE44_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300727EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300847EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE646_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300202EE = comdat any + +$_ZTS6kernelILi4300164EE = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any + +$_ZTS6kernelILi4300226EE = comdat any + +$_ZTS6kernelILi4300658EE = comdat any + +$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16marrayIiLm5EEC2Ev = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any + +$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_ZTS6kernelILi4300773EE = comdat any + +$_ZTS6kernelILi4300103EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300282EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EE4sizeEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300743EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300676EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE543_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300743EE = comdat any + +$_ZZZ14check_functionILi4300317EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE316_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300324EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE323_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300600EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_ = comdat any + +$_ZZZ14check_functionILi4300120EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE119_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300576EE = comdat any + +$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300168EE = comdat any + +$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1iPiEET_T0_ = comdat any + +$_ZZZ14check_functionILi4300105EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE104_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZZZ14check_functionILi4300347EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE346_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZZZ14check_functionILi4300254EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE253_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_Z23__spirv_NumWorkgroups_xv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300595EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300529EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300695EE = comdat any + +$_ZTS6kernelILi4300499EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300863EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300867EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300981EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE728_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm14EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm17EE6_S_refERA17_KS4_m = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ14check_functionILi4300207EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE206_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300402EE = comdat any + +$_ZZZ14check_functionILi4301029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE764_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any + +$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm2EEES8_EET_T0_ = comdat any + +$_ZN4sycl3_V16marrayIiLm3EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any + +$_ZTS6kernelILi4300259EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZNSt14__array_traitsIiLm9EE6_S_refERA9_Kim = comdat any + +$_ZTS6kernelILi4300041EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZZZ14check_functionILi4300306EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE305_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300892EE = comdat any + +$_ZZZ14check_functionILi4300293EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE292_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300125EE = comdat any + +$_ZZZ14check_functionILi4300288EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE287_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300660EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE527_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm10EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZTS6kernelILi4300935EE = comdat any + +$_ZTS6kernelILi4300277EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16detail9half_impl4halfEEPU3AS0T_Pv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IDv3_DF16_vEES7_ = comdat any + +$_ZTS6kernelILi4300130EE = comdat any + +$_ZZZ14check_functionILi4300340EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE339_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4301028EE = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300388EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300328EE = comdat any + +$_ZTS6kernelILi4300087EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZZZ14check_functionILi4300217EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE216_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300395EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZTS6kernelILi4300578EE = comdat any + +$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300606EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE473_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300205EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm5EEES6_EET_T0_ = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE = comdat any + +$_ZTS6kernelILi4300314EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300865EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE652_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm9EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300994EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm5EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any + +$_ZZZ14check_functionILi4300111EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE110_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZTS6kernelILi4300747EE = comdat any + +$_ZZZ14check_functionILi4301013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE748_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300011EE = comdat any + +$_ZTS6kernelILi4300852EE = comdat any + +$_ZTS6kernelILi4300235EE = comdat any + +$_ZZZ14check_functionILi4300206EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE205_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any + +$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300727EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE570_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZTS6kernelILi4300896EE = comdat any + +$_ZTS6kernelILi4300006EE = comdat any + +$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300257EE = comdat any + +$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE73_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300163EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE162_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300695EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300573EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE460_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300418EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZZZ14check_functionILi4300134EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE133_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300779EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE602_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300891EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300746EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300591EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE466_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300467EE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_iNS0_3vecIiLi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any + +$_ZZZ14check_functionILi4301080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE815_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300485EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE396_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300483EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE394_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300404EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300749EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301000EE = comdat any + +$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300075EE = comdat any + +$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300390EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300862EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300129EE = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZTS6kernelILi4300588EE = comdat any + +$_ZTS6kernelILi4300217EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZZZ14check_functionILi4300909EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE688_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300736EE = comdat any + +$_ZTS6kernelILi4301069EE = comdat any + +$_ZZZ14check_functionILi4300762EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE585_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any + +$_ZTS6kernelILi4300627EE = comdat any + +$_ZTS6kernelILi4300251EE = comdat any + +$_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi = comdat any + +$_ZZZ14check_functionILi4300205EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE204_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300319EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE318_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300758EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE581_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZTS6kernelILi4300985EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300730EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300147EE = comdat any + +$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300782EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE605_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300215EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE214_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300896EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE675_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300772EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE595_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300198EE = comdat any + +$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300066EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300690EE = comdat any + +$_ZZZ14check_functionILi4300890EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE669_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZTS6kernelILi4300745EE = comdat any + +$_ZTS6kernelILi4300292EE = comdat any + +$_ZZZ14check_functionILi4300048EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE47_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300333EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE332_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm16EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZTS6kernelILi4300052EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZTS6kernelILi4301035EE = comdat any + +$_ZZZ14check_functionILi4300294EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE293_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301015EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300573EE = comdat any + +$_ZNK4sycl3_V13vecIiLi8EEcvDv8_iEv = comdat any + +$_ZTS6kernelILi4300018EE = comdat any + +$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZZZ14check_functionILi4300040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE39_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZZZ14check_functionILi4300182EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE181_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZTS6kernelILi4300347EE = comdat any + +$_ZZZ14check_functionILi4300514EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE425_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300902EE = comdat any + +$_ZTS6kernelILi4300133EE = comdat any + +$_ZZZ14check_functionILi4300070EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE69_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any + +$_ZTS6kernelILi4300169EE = comdat any + +$_ZZZ14check_functionILi4300312EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE311_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any + +$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZZZ14check_functionILi4300502EN4sycl3_V16marrayIiLm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE413_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300397EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN7__spirv22initGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v = comdat any + +$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZZZ14check_functionILi4300887EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE666_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300457EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300776EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE599_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300618EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE485_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300089EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE88_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300539EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300858EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300267EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE266_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE = comdat any + +$_ZTS6kernelILi4300304EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm7EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZTS6kernelILi4300868EE = comdat any + +$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4301083EE = comdat any + +$_ZZZ14check_functionILi4300626EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE493_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300183EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300934EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZTS6kernelILi4300486EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any + +$_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE = comdat any + +$_Z22__spirv_GlobalOffset_xv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300848EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE647_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300102EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any + +$_ZTS6kernelILi4300471EE = comdat any + +$_ZZZ14check_functionILi4301036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE771_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300286EE = comdat any + +$_ZTS6kernelILi4300984EE = comdat any + +$_ZTS6kernelILi4300990EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300075EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE74_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300987EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE730_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300608EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE475_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300501EE = comdat any + +$_ZZZ14check_functionILi4300808EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE631_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm8EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any + +$_ZNSt14__array_traitsIiLm4EE6_S_refERA4_Kim = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any + +$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v = comdat any + +$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300475EE = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4301045EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any + +$_ZZZ14check_functionILi4300613EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE480_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300933EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any + +$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZZZ14check_functionILi4300611EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE478_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300302EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE301_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4300053EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any + +$_ZTS6kernelILi4300187EE = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm4EE6_S_refERA4_KS4_m = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZTS6kernelILi4300633EE = comdat any + +$_ZZZ14check_functionILi4300777EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE600_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300870EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300299EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE298_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4301028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE763_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300149EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE148_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301079EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4301017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE752_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V13vecIiLi2EEcvDv2_iEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300461EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZTS6kernelILi4300685EE = comdat any + +$_ZTS6kernelILi4300254EE = comdat any + +$_ZZZ14check_functionILi4301069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE804_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300732EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE571_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300197EE = comdat any + +$_ZZZ14check_functionILi4300241EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE240_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300978EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_ = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300311EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE310_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300526EE = comdat any + +$_ZZZ14check_functionILi4301016EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE751_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN7__spirv16initGlobalOffsetILi1EN4sycl3_V12idILi1EEEEET0_v = comdat any + +$_ZTS6kernelILi4300047EE = comdat any + +$_ZZZ14check_functionILi4300027EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE26_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300537EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE448_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZNSt14__array_traitsIiLm8EE6_S_refERA8_Kim = comdat any + +$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300974EE = comdat any + +$_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv = comdat any + +$_ZTS6kernelILi4300538EE = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EE4sizeEv = comdat any + +$_ZTS6kernelILi4300150EE = comdat any + +$_ZZZ14check_functionILi4301049EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE784_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300330EE = comdat any + +$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZTS6kernelILi4300239EE = comdat any + +$_ZNSt14__array_traitsIiLm7EE6_S_refERA7_Kim = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZZZ14check_functionILi4300323EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE322_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300158EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE157_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZTS6kernelILi4300680EE = comdat any + +$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300581EE = comdat any + +$_ZNK4sycl3_V16detail9half_impl4halfcvfEv = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ14check_functionILi4301073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE808_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_ = comdat any + +$_ZTS6kernelILi4300804EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm11EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300609EE = comdat any + +$_ZTS6kernelILi4300165EE = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE = comdat any + +$_ZTS6kernelILi4300058EE = comdat any + +$_ZN4sycl3_V16marrayIiLm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIiLm5EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZZZ14check_functionILi4300081EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE80_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300626EE = comdat any + +$_ZZZ14check_functionILi4300797EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE620_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300781EE = comdat any + +$_ZTS6kernelILi4300190EE = comdat any + +$_ZTS6kernelILi4300410EE = comdat any + +$_ZZZ14check_functionILi4300222EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE221_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300692EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZZZ14check_functionILi4300636EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE503_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300981EE = comdat any + +$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300466EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any + +$_ZZZ14check_functionILi4300249EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE248_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS3iS4_EET_T0_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300097EE = comdat any + +$_ZTS6kernelILi4300325EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4301042EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE777_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300600EE = comdat any + +$_ZZZ14check_functionILi4300911EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE690_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300625EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE492_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS1_9half_impl4halfEPS4_EET_T0_ = comdat any + +$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V16marrayIiLm17EEixEm = comdat any + +$_ZTS6kernelILi4300784EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm7EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300091EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE90_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNSt14__array_traitsIiLm13EE6_S_refERA13_Kim = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300852EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZTS6kernelILi4300321EE = comdat any + +$_ZZZ14check_functionILi4300176EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE175_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300459EE = comdat any + +$_ZZZ14check_functionILi4300041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE40_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any + +$_ZZZ14check_functionILi4300067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE66_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm11EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZTS6kernelILi4300517EE = comdat any + +$_ZTS6kernelILi4300193EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZZZ14check_functionILi4300766EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE589_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300236EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE235_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300858EE = comdat any + +$_ZZZ14check_functionILi4300334EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE333_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300081EE = comdat any + +$_ZTS6kernelILi4300575EE = comdat any + +$_ZZZ14check_functionILi4300764EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE587_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300972EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300911EE = comdat any + +$_ZZZ14check_functionILi4300643EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE510_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4300396EE = comdat any + +$_ZTS6kernelILi4300870EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300475EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300040EE = comdat any + +$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any + +$_ZZZ14check_functionILi4300926EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE705_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300234EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE233_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300927EE = comdat any + +$_ZTS6kernelILi4300334EE = comdat any + +$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZTS6kernelILi4300233EE = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4301018EE = comdat any + +$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300118EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any + +$_ZZZ14check_functionILi4301023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE758_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300500EN4sycl3_V16marrayIiLm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE411_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any + +$_ZTS6kernelILi4300909EE = comdat any + +$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZZZ14check_functionILi4300195EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE194_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300515EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE426_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300468EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300895EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any + +$_ZN4sycl3_V16marrayIiLm5EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any + +$_ZTS6kernelILi4300864EE = comdat any + +$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300648EE = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZZZ14check_functionILi4300057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE56_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300459EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE386_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300462EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm5EEES8_EET_T0_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300541EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZZZ14check_functionILi4300609EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE476_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300813EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_ZZZ14check_functionILi4300200EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE199_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300737EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300269EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZTS6kernelILi4300070EE = comdat any + +$_ZTS6kernelILi4301017EE = comdat any + +$_ZTS6kernelILi4301027EE = comdat any + +$_ZTS6kernelILi4300882EE = comdat any + +$_ZTS6kernelILi4300470EE = comdat any + +$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZTS6kernelILi4300515EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZZZ14check_functionILi4301060EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE795_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300902EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE681_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300198EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE197_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300485EE = comdat any + +$_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ14check_functionILi4300152EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE151_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300251EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE250_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4301032EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE767_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZTS6kernelILi4300803EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any + +$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE11_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any + +$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300117EE = comdat any + +$_ZTS6kernelILi4300986EE = comdat any + +$_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE4sizeEv = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300213EE = comdat any + +$_ZZZ14check_functionILi4300201EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE200_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE820_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ14check_functionILi4300624EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE491_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300891EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE670_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301058EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi = comdat any + +$_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIN4sycl3_V16detail9half_impl4halfEEPU3AS3T_Pv = comdat any + +$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300748EE = comdat any + +$_ZTS6kernelILi4300237EE = comdat any + +$_ZTS6kernelILi4300184EE = comdat any + +$_ZTS6kernelILi4300265EE = comdat any + +$_ZZZ14check_functionILi4300644EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE511_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZZZ14check_functionILi4300508EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE419_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300277EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE276_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEvEET_RT0_ = comdat any + +$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm9EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZTS6kernelILi4300996EE = comdat any + +$_ZZZ14check_functionILi4300099EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE98_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300306EE = comdat any + +$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any + +$_ZTS6kernelILi4300814EE = comdat any + +$_ZZZ14check_functionILi4300270EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE269_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4301042EE = comdat any + +$_ZZZ14check_functionILi4300905EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE684_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300898EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE677_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300510EE = comdat any + +$_ZZZ14check_functionILi4300607EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE474_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300970EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZZZ14check_functionILi4300148EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE147_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm15EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE0EEEEES4_RT_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any + +$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300474EE = comdat any + +$_ZZZ14check_functionILi4300085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE84_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301010EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE745_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300621EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE488_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300585EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE464_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300321EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE320_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301041EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300523EE = comdat any + +$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZN4sycl3_V16marrayIiLm17EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any + +$_ZTS6kernelILi4300659EE = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZZZ14check_functionILi4300151EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE150_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEvEET_RT0_ = comdat any + +$_ZZZ14check_functionILi4300017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE16_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300061EE = comdat any + +$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300253EE = comdat any + +$_ZTS6kernelILi4300246EE = comdat any + +$_ZZZ14check_functionILi4300230EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE229_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300204EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE203_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any + +$_ZTS6kernelILi4300635EE = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm10EE6_S_refERA10_KS4_m = comdat any + +$_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ14check_functionILi4300173EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE172_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300532EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ14check_functionILi4300998EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE733_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300744EE = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300932EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE711_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZZZ14check_functionILi4300028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE27_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301076EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZTS6kernelILi4300090EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_ = comdat any + +$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNKSt5arrayIiLm15EEixEm = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300042EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE41_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300689EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE556_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300525EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE436_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEES4_RT_ = comdat any + +$_ZTS6kernelILi4300677EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300973EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZTS6kernelILi4300336EE = comdat any + +$_ZZZ14check_functionILi4300493EiZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE404_EvS5_T1_NS2_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRN4sycl3_V17handlerEE_clESM_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZTS6kernelILi4300886EE = comdat any + +$_ZTS6kernelILi4300790EE = comdat any + +$_ZZZ14check_functionILi4300064EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE63_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZTS6kernelILi4300871EE = comdat any + +$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300026EE = comdat any + +$_ZTS6kernelILi4300146EE = comdat any + +$_ZZZ14check_functionILi4300892EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE671_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300604EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE471_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300401EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any + +$_ZN7__spirv17initNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEEET0_v = comdat any + +$_ZZZ14check_functionILi4300100EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE99_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301077EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE812_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any + +$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300337EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZZZ14check_functionILi4300118EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE117_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300111EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm4EEES6_EET_T0_ = comdat any + +$_ZTS6kernelILi4300267EE = comdat any + +$_ZZZ14check_functionILi4300108EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE107_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_ = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300007EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300740EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300166EE = comdat any + +$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300922EE = comdat any + +$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V13vecIiLi8EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any + +$_ZTS6kernelILi4300284EE = comdat any + +$_ZZZ14check_functionILi4300199EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE198_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300893EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZTS6kernelILi4300144EE = comdat any + +$_ZZZ14check_functionILi4300341EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE340_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev = comdat any + +$_ZTS6kernelILi4300763EE = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm = comdat any + +$_ZZZ14check_functionILi4300191EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE190_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300224EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE223_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300166EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE165_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300993EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE732_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300635EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE502_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300671EE = comdat any + +$_ZZZ14check_functionILi4300651EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE518_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEES4_RT_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZTS6kernelILi4301050EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm4EEEPS4_EET_T0_ = comdat any + +$_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEvEET_RT0_ = comdat any + +$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZTS6kernelILi4300473EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv = comdat any + +$_ZTS6kernelILi4300993EE = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16detail7Builder10createItemILi1ELb1EEENSt9enable_ifIXT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEESG_ = comdat any + +$_ZZZ14check_functionILi4301019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE754_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300046EE = comdat any + +$_ZTS6kernelILi4300783EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm14EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEES4_RT_ = comdat any + +$_ZTS6kernelILi4300230EE = comdat any + +$_ZTS6kernelILi4300650EE = comdat any + +$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE71_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300086EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE85_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi = comdat any + +$_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZZZ14check_functionILi4300795EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE618_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4301032EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300654EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE521_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any + +$_ZTS6kernelILi4300733EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300474EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm15EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZZZ14check_functionILi4300281EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE280_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300015EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE14_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZTS6kernelILi4301024EE = comdat any + +$_ZTS6kernelILi4300489EE = comdat any + +$_ZTS6kernelILi4300035EE = comdat any + +$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300185EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE184_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300520EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE431_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_ = comdat any + +$_ZTS6kernelILi4300196EE = comdat any + +$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300232EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE231_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300139EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE138_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300305EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE304_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300143EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE142_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE18_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev = comdat any + +$_ZTS6kernelILi4300970EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300489EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE400_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZTS6kernelILi4300341EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4300298EE = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEEPU3AS0T_Pv = comdat any + +$_ZZZ14check_functionILi4300663EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE530_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300773EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE596_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300581EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffEE6CreateERKfSA_SA_SA_SA_SA_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300904EE = comdat any + +$_ZTS6kernelILi4300755EE = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300855EE = comdat any + +$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300300EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE299_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300397EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE0EEEEES4_RT_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300289EE = comdat any + +$_ZZZ14check_functionILi4300879EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE658_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300115EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE114_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm5EE6_S_refERA5_KS4_m = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300978EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300673EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE540_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE7getSizeEv = comdat any + +$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300795EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZTS6kernelILi4300857EE = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_ = comdat any + +$_ZTS6kernelILi4300316EE = comdat any + +$_ZTS6kernelILi4300875EE = comdat any + +$_ZTS6kernelILi4300156EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfEPS4_EET_T0_ = comdat any + +$_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_ = comdat any + +$_ZZZ14check_functionILi4300253EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE252_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300250EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE249_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300293EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300114EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300465EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE388_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300034EE = comdat any + +$_ZTS6kernelILi4300931EE = comdat any + +$_ZZZ14check_functionILi4300246EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE245_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300606EE = comdat any + +$_ZTS6kernelILi4300408EE = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIS4_Lm5EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZTS6kernelILi4300043EE = comdat any + +$_ZZZ14check_functionILi4300055EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE54_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300167EE = comdat any + +$_ZZZ14check_functionILi4301050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE785_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300394EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4301062EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZZZ14check_functionILi4300914EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE693_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm = comdat any + +$_ZTS6kernelILi4300062EE = comdat any + +$_ZNKSt5arrayIiLm4EEixEm = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm4EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any + +$_ZZZ14check_functionILi4300922EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE701_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300616EE = comdat any + +$_ZZZ14check_functionILi4300203EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE202_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_ = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300592EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any + +$_ZZZ14check_functionILi4300780EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE603_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300465EE = comdat any + +$_ZTS6kernelILi4300283EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300331EE = comdat any + +$_ZZZ14check_functionILi4300652EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE519_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300737EE = comdat any + +$_ZZZ14check_functionILi4300030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE29_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300873EE = comdat any + +$_ZZZ14check_functionILi4300907EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE686_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300233EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE232_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300513EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZZZ14check_functionILi4300036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE35_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300481EE = comdat any + +$_ZTS6kernelILi4300109EE = comdat any + +$_ZTS6kernelILi4300124EE = comdat any + +$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZZZ14check_functionILi4300767EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE590_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300646EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE513_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_ZTS6kernelILi4300663EE = comdat any + +$_ZZZ14check_functionILi4300610EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE477_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayIiLm2EE4sizeEv = comdat any + +$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16marrayIiLm3EEixEm = comdat any + +$_ZZZ14check_functionILi4300532EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE443_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300746EE = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm13EE6_S_refERA13_KS4_m = comdat any + +$_ZTS6kernelILi4300126EE = comdat any + +$_ZZZ14check_functionILi4300053EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE52_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300622EE = comdat any + +$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4301074EE = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300864EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZZZ14check_functionILi4300880EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE659_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300766EE = comdat any + +$_ZZZ14check_functionILi4300328EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE327_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300619EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE486_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300631EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE498_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300287EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZTS6kernelILi4300762EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZTS6kernelILi4300175EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any + +$_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEC2Ev = comdat any + +$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300738EE = comdat any + +$_ZZZ14check_functionILi4300674EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE541_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any + +$_ZZZ14check_functionILi4300079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE78_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300860EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE651_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300780EE = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_ZZZ14check_functionILi4300223EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE222_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300917EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE696_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZTS6kernelILi4300968EE = comdat any + +$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300615EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE482_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300283EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE282_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZN7__spirv28InitSizesSTLocalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv = comdat any + +$_ZZZ14check_functionILi4300076EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE75_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300673EE = comdat any + +$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300580EE = comdat any + +$_ZZZ14check_functionILi4300793EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE616_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300344EE = comdat any + +$_ZZZ14check_functionILi4300921EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE700_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZTS6kernelILi4300083EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm6EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4300972EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300851EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13vecIiLi2EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZZZ14check_functionILi4300770EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE593_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZNSt14__array_traitsIiLm6EE6_S_refERA6_Kim = comdat any + +$_ZTS6kernelILi4300907EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300416EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE371_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZTS6kernelILi4300312EE = comdat any + +$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300248EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE247_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300936EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEvEET_RT0_ = comdat any + +$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm12EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm11EE6_S_refERA11_KS4_m = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZZZ14check_functionILi4300235EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE234_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300270EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm13EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300607EE = comdat any + +$_ZTS6kernelILi4300789EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300935EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE0EEEEES4_RT_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300051EE = comdat any + +$_ZZZ14check_functionILi4301001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE736_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_ = comdat any + +$_ZNKSt5arrayIiLm14EEixEm = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZTS6kernelILi4300900EE = comdat any + +$_ZNKSt5arrayIiLm17EEixEm = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300977EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any + +$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V16marrayIiLm5EEixEm = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm5EEEPS6_EET_T0_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any + +$_ZZZ14check_functionILi4301035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE770_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300889EE = comdat any + +$_ZZZ14check_functionILi4300087EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE86_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300726EE = comdat any + +$_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_ = comdat any + +$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300315EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE314_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4301071EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE806_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayIiLm17EEC2Ev = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300404EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE367_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZNKSt5arrayIiLm5EEixEm = comdat any + +$_ZZZ14check_functionILi4300809EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE632_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300531EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE442_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEcvDv8_DF16_Ev = comdat any + +$_ZZZ14check_functionILi4300065EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE64_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300488EE = comdat any + +$_ZTS6kernelILi4300811EE = comdat any + +$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300275EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE274_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300481EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300407EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZTS6kernelILi4300592EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300411EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE370_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300749EE = comdat any + +$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_ = comdat any + +$_ZTS6kernelILi4300131EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any + +$_ZTS6kernelILi4300508EE = comdat any + +$_ZZZ14check_functionILi4300096EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE95_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300150EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE149_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300082EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE81_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300816EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_ = comdat any + +$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300242EE = comdat any + +$_ZZZ14check_functionILi4300282EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE281_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any + +$_ZTS6kernelILi4300200EE = comdat any + +$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZZZ14check_functionILi4300184EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE183_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any + +$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZZZ14check_functionILi4300273EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE272_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail7Builder11createGroupILi1EEENS0_5groupIXT_EEERKNS0_5rangeIXT_EEES9_S9_RKNS0_2idIXT_EEE = comdat any + +$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_ = comdat any + +$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300066EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE65_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300260EE = comdat any + +$_ZTS6kernelILi4300080EE = comdat any + +$_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300391EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301054EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZTS6kernelILi4300847EE = comdat any + +$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i = comdat any + +$_ZTS6kernelILi4300668EE = comdat any + +$_ZZZ14check_functionILi4300083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE82_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300491EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE402_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300140EE = comdat any + +$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZTS6kernelILi4300141EE = comdat any + +$_ZTS6kernelILi4300229EE = comdat any + +$_ZTS6kernelILi4300612EE = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZZZ14check_functionILi4300670EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE537_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300313EE = comdat any + +$_ZTS6kernelILi4300625EE = comdat any + +$_ZTS6kernelILi4300098EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300814EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm = comdat any + +$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V13vecIiLi4EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300693EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300021EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE20_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301021EE = comdat any + +$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300866EE = comdat any + +$_ZZZ14check_functionILi4300781EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE604_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any + +$_ZZZ14check_functionILi4300881EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE660_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300155EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE154_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZTS6kernelILi4300161EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZZZ14check_functionILi4300227EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE226_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300201EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4300774EE = comdat any + +$_ZTS6kernelILi4300689EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0DF16_PU3AS0NS1_9half_impl4halfEEET_T0_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIS4_Lm17EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any + +$_ZTS6kernelILi4300518EE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZTS6kernelILi4300145EE = comdat any + +$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4301038EE = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300771EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE594_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301080EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZTS6kernelILi4300540EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300594EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300756EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE579_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ14check_functionILi4300133EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE132_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300914EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300924EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE703_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300751EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE578_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300268EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE267_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300998EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZZZ14check_functionILi4300016EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE15_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE776_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300531EE = comdat any + +$_ZTS6kernelILi4300060EE = comdat any + +$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300583EE = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv = comdat any + +$_ZZZ14check_functionILi4300637EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE504_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300753EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIiiEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS4_ = comdat any + +$_ZTS6kernelILi4300901EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZZZ14check_functionILi4300325EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE324_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm = comdat any + +$_ZZZ14check_functionILi4300801EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE624_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300986EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE729_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300739EE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZNKSt5arrayIiLm16EEixEm = comdat any + +$_ZTS6kernelILi4300105EE = comdat any + +$_ZTS6kernelILi4301052EE = comdat any + +$_ZZZ14check_functionILi4300512EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE423_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300904EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE683_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300638EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE505_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any + +$_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZZZ14check_functionILi4300802EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE625_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZTS6kernelILi4300189EE = comdat any + +$_ZZZ14check_functionILi4300930EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE709_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300417EE = comdat any + +$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300973EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300726EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE569_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300850EE = comdat any + +$_ZZZ14check_functionILi4300910EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE689_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE = comdat any + +$_ZZZ14check_functionILi4300688EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE555_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300997EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZNSt14__array_traitsIiLm3EE6_S_refERA3_Kim = comdat any + +$_ZN4sycl3_V16detail10vec_helperIiE3getEi = comdat any + +$_ZTS6kernelILi4300119EE = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm = comdat any + +$_Z21__spirv_WorkgroupId_xv = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4300297EE = comdat any + +$_ZZZ14check_functionILi4300803EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE626_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300245EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE244_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301022EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE757_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE798_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300188EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE187_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300511EE = comdat any + +$_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE17_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4301068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE803_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf = comdat any + +$_ZTS6kernelILi4300507EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE = comdat any + +$_ZTS6kernelILi4300482EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_ZZZ14check_functionILi4300509EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE420_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300925EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE704_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300271EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE270_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300122EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE121_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300796EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300322EE = comdat any + +$_ZZZ14check_functionILi4300058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE57_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_ = comdat any + +$_ZTS6kernelILi4300204EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_ = comdat any + +$_ZTS6kernelILi4300089EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300694EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300997EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300574EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZTS6kernelILi4300693EE = comdat any + +$_ZN4sycl3_V16marrayIiLm2EEixEm = comdat any + +$_ZTS6kernelILi4300894EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZZZ14check_functionILi4300330EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE329_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZZZ14check_functionILi4300011EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE10_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300188EE = comdat any + +$_ZTS6kernelILi4300392EE = comdat any + +$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300652EE = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEEPU3AS0T_Pv = comdat any + +$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300605EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE472_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14itemILi1ELb1EEC2ILb1EEERNSt9enable_ifIXT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEESE_ = comdat any + +$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V13vecIiLi4EEcvDv4_iEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300236EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4300414EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZNKSt5arrayIiLm1EEixEm = comdat any + +$_ZZZ14check_functionILi4301054EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE789_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300812EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE635_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300408EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300886EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE665_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300109EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE108_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300352EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZTS6kernelILi4300477EE = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZTS6kernelILi4300012EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any + +$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300646EE = comdat any + +$_ZZZ14check_functionILi4300683EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE550_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300218EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300897EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE676_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300655EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE522_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300641EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300147EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE146_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300794EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE617_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301068EE = comdat any + +$_ZTS6kernelILi4300645EE = comdat any + +$_ZZZ14check_functionILi4300885EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE664_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300800EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE623_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm8EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300462EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300577EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZZZ14check_functionILi4300675EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE542_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE743_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_ = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE1EEEEES4_RT_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZZZ14check_functionILi4301067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE802_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN7__spirv21initLocalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v = comdat any + +$_ZTS6kernelILi4300728EE = comdat any + +$_ZZZ14check_functionILi4300761EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE584_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300060EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE59_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300099EE = comdat any + +$_ZTS6kernelILi4300252EE = comdat any + +$_ZN7__spirv22InitSizesSTWorkgroupIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300739EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE574_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300237EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE236_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZNK4sycl3_V16marrayIiLm3EEixEm = comdat any + +$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300074EE = comdat any + +$_ZTS6kernelILi4300039EE = comdat any + +$_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf = comdat any + +$_ZZZ14check_functionILi4301078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE813_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300694EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any + +$_ZTS6kernelILi4300657EE = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300391EE = comdat any + +$_ZTS6kernelILi4300138EE = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZTS6kernelILi4300272EE = comdat any + +$_ZZZ14check_functionILi4300778EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE601_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300170EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE169_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300181EE = comdat any + +$_ZTS6kernelILi4301036EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_ = comdat any + +$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZZZ14check_functionILi4300927EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE706_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300647EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE514_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300869EE = comdat any + +$_ZTS6kernelILi4300979EE = comdat any + +$_ZZZ14check_functionILi4300641EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE508_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300975EE = comdat any + +$_ZZZ14check_functionILi4300031EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE30_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13expENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300419EE = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEC2Ev = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300588EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300738EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE573_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9half_impl4halfC2ERKf = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300307EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE306_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZNSt14__array_traitsIiLm12EE6_S_refERA12_Kim = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300479EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300157EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE156_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300323EE = comdat any + +$_ZTS6kernelILi4301055EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZTS6kernelILi4300579EE = comdat any + +$_ZZZ14check_functionILi4300097EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE96_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEvEET_RT0_ = comdat any + +$_ZTS6kernelILi4300692EE = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300980EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE727_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300190EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE189_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_Z23__spirv_WorkgroupSize_xv = comdat any + +$_ZTS6kernelILi4300056EE = comdat any + +$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300596EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE467_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301008EE = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZZZ14check_functionILi4300092EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE91_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZTS6kernelILi4300778EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZTS6kernelILi4300887EE = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V16marrayIiLm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIiLm4EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300396EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300796EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE619_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIiEPU3AS1T_Pv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V16marrayIiLm2EEC2Ev = comdat any + +$_ZZZ14check_functionILi4301038EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE773_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300784EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE607_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300452EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE383_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300094EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE93_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300577EE = comdat any + +$_ZTS6kernelILi4300661EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_ = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm = comdat any + +$_ZTS6kernelILi4300256EE = comdat any + +$_ZTS6kernelILi4300120EE = comdat any + +$_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300686EE = comdat any + +$_ZTS6kernelILi4300660EE = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300912EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE691_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300878EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE657_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300049EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE48_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300029EE = comdat any + +$_ZZZ14check_functionILi4300518EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE429_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ14check_functionILi4300026EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE25_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300350EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE349_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IDv2_DF16_vEES7_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4300630EE = comdat any + +$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EEC2EPU3AS0S4_ = comdat any + +$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300791EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE614_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300524EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE435_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_ = comdat any + +$_ZZZ14check_functionILi4300078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE77_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE807_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi = comdat any + +$_ZZZ14check_functionILi4300145EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE144_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300586EE = comdat any + +$_ZTS6kernelILi4300595EE = comdat any + +$_ZN7__spirv24InitSizesSTNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv = comdat any + +$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm17EEEPS4_EET_T0_ = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZTS6kernelILi4300800EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm17EEEPS6_EET_T0_ = comdat any + +$_ZNSt14__array_traitsIiLm2EE6_S_refERA2_Kim = comdat any + +$_ZTS6kernelILi4300969EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300392EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE363_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm13EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZZZ14check_functionILi4300214EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE213_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZTS6kernelILi4300005EE = comdat any + +$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ14check_functionILi4300063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE62_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300790EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE613_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300239EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE238_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300194EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE193_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300349EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE348_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300315EE = comdat any + +$_ZZZ14check_functionILi4300218EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE217_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300276EE = comdat any + +$_ZTS6kernelILi4300355EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300584EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE463_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300982EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300871EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE654_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300470EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE389_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE749_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZTS6kernelILi4300849EE = comdat any + +$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300603EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300088EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE87_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300186EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300342EE = comdat any + +$_ZTS6kernelILi4301056EE = comdat any + +$_ZTS6kernelILi4300617EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300928EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE707_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE46_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi = comdat any + +$_ZZZ14check_functionILi4301043EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE778_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300077EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE76_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm5EEEEPU3AS0T_Pv = comdat any + +$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZTS6kernelILi4300333EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300467EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any + +$_ZTS6kernelILi4300013EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300471EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE390_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE765_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any + +$_ZTS6kernelILi4300009EE = comdat any + +$_ZTS6kernelILi4300614EE = comdat any + +$_ZZZ14check_functionILi4300095EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE94_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJLm0ELm1EEEERKSt5arrayIS4_Lm2EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any + +$_ZZZ14check_functionILi4301055EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE790_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZZZ14check_functionILi4300506EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE417_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300096EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300666EE = comdat any + +$_ZTS6kernelILi4300793EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZZZ14check_functionILi4300899EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE678_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301076EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE811_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301037EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm3EE6_S_refERA3_KS4_m = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi = comdat any + +$_ZTS6kernelILi4300756EE = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300530EE = comdat any + +$_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_ = comdat any + +$_ZTS6kernelILi4300037EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300741EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZZZ14check_functionILi4300168EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE167_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300597EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE468_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300472EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZTS6kernelILi4300387EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4301058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE793_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300590EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE465_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE = comdat any + +$_ZTS6kernelILi4300142EE = comdat any + +$_ZZZ14check_functionILi4300346EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE345_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300873EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300916EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE695_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300464EE = comdat any + +$_ZTS6kernelILi4300280EE = comdat any + +$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300732EE = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZNSt14__array_traitsIiLm11EE6_S_refERA11_Kim = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZTS6kernelILi4300139EE = comdat any + +$_ZTS6kernelILi4301061EE = comdat any + +$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300768EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE591_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300769EE = comdat any + +$_ZTS6kernelILi4300412EE = comdat any + +$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300656EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE523_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300576EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300272EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE271_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300679EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm4EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300535EE = comdat any + +$_ZZZ14check_functionILi4300140EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE139_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300059EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE58_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any + +$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300813EE = comdat any + +$_ZTS6kernelILi4300505EE = comdat any + +$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4301057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE792_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300159EE = comdat any + +$_ZTS6kernelILi4300072EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300968EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE723_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300861EE = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4301009EE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_iNS0_3vecIiLi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300742EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300073EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4301034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE769_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300154EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE153_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZZZ14check_functionILi4300043EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE42_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300995EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300572EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE459_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300624EE = comdat any + +$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300463EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300642EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE509_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300453EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE384_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300219EE = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300008EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300402EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300077EE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any + +$_ZZZ14check_functionILi4300181EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE180_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300335EE = comdat any + +$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300059EE = comdat any + +$_ZZZ14check_functionILi4300639EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE506_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300143EE = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any + +$_ZTS6kernelILi4300788EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm4EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm2EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any + +$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any + +$_ZTS6kernelILi4300639EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300933EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE712_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300469EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any + +$_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4300157EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300178EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE177_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300640EE = comdat any + +$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300621EE = comdat any + +$_ZZZ14check_functionILi4300054EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE53_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300187EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE186_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301067EE = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300071EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_ = comdat any + +$_ZTS6kernelILi4300856EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN4sycl3_V16marrayIiLm3EE4sizeEv = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any + +$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm5EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZTS6kernelILi4300153EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300536EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE447_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE738_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300219EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE218_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300172EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE171_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300017EE = comdat any + +$_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V14itemILi1ELb0EEC2ILb0EEERNSt9enable_ifIXntT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300144EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE143_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE51_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300326EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE325_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any + +$_ZNK4sycl3_V16marrayIiLm4EEixEm = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZTS6kernelILi4300248EE = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm2EEEPS4_EET_T0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300593EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZZZ14check_functionILi4300650EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE517_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ14check_functionILi4300499EN4sycl3_V16marrayIiLm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE410_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300317EE = comdat any + +$_ZZZ14check_functionILi4300623EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE490_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300771EE = comdat any + +$_ZZZ14check_functionILi4300171EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE170_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZZZ14check_functionILi4301015EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE750_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4300919EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZTS6kernelILi4301016EE = comdat any + +$_ZZZ14check_functionILi4301005EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE740_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayIiLm5EEixEm = comdat any + +$_ZTS6kernelILi4300670EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16marrayIiLm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIiLm3EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300937EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300792EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE615_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm16EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300390EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V16detail5arrayILi1EEixEi = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300982EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZZZ14check_functionILi4300257EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE256_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZTS6kernelILi4300735EE = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300460EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZZZ14check_functionILi4300309EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE308_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEES4_RT_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZTS6kernelILi4300415EE = comdat any + +$_ZTS6kernelILi4300615EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_ = comdat any + +$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300504EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE415_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300487EE = comdat any + +$_ZZZ14check_functionILi4300310EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE309_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300984EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZTS6kernelILi4300502EE = comdat any + +$_ZTS6kernelILi4300934EE = comdat any + +$_ZTS6kernelILi4300923EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300332EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE331_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300275EE = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZTS6kernelILi4301020EE = comdat any + +$_ZZZ14check_functionILi4300645EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE512_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZZZ14check_functionILi4300279EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE278_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300169EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE168_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE4sizeEv = comdat any + +$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE16FlattenMArrayArgIS4_fEclERKf = comdat any + +$_ZZZ14check_functionILi4301062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE797_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300601EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZTS6kernelILi4300154EE = comdat any + +$_ZZZ14check_functionILi4300050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE49_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4301011EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE746_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300469EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any + +$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZTS6kernelILi4300132EE = comdat any + +$_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm5EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any + +$_ZTS6kernelILi4300522EE = comdat any + +$_ZZZ14check_functionILi4300774EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE597_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300156EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE155_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300925EE = comdat any + +$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300458EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE385_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZZZ14check_functionILi4301026EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE761_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300772EE = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEcvDv16_DF16_Ev = comdat any + +$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZTS6kernelILi4300420EE = comdat any + +$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4301037EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE772_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZTS6kernelILi4300905EE = comdat any + +$_ZTS6kernelILi4300104EE = comdat any + +$_ZTS6kernelILi4300243EE = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300340EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any + +$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300504EE = comdat any + +$_ZZZ14check_functionILi4300216EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE215_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300883EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE662_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300528EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300988EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300189EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE188_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE = comdat any + +$_ZTS6kernelILi4300636EE = comdat any + +$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZTS6kernelILi4301060EE = comdat any + +$_ZZZ14check_functionILi4300759EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE582_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m = comdat any + +$_ZTS6kernelILi4300215EE = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZZZ14check_functionILi4300482EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE393_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300023EE = comdat any + +$_ZNKSt5arrayIiLm8EEixEm = comdat any + +$_ZNSt14__array_traitsIiLm15EE6_S_refERA15_Kim = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEvEET_RT0_ = comdat any + +$_ZZZ14check_functionILi4300798EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE621_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300079EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any + +$_ZTS6kernelILi4300100EE = comdat any + +$_ZTS6kernelILi4300480EE = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4301033EE = comdat any + +$_ZN16value_operations6assignIiiEENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS2_RKS3_ = comdat any + +$_ZTS6kernelILi4301026EE = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16marrayIiLm4EEC2Ev = comdat any + +$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZTS6kernelILi4300678EE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZN4sycl3_V16detail7Builder12createNDItemILi1EEENS0_7nd_itemIXT_EEERKNS0_4itemIXT_ELb1EEERKNS6_IXT_ELb0EEERKNS0_5groupIXT_EEE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev = comdat any + +$_ZZZ14check_functionILi4300507EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE418_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300929EE = comdat any + +$_ZTS6kernelILi4301002EE = comdat any + +$_ZTS6kernelILi4300463EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300224EE = comdat any + +$_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE = comdat any + +$_ZTS6kernelILi4300116EE = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300750EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE577_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any + +$_ZTS6kernelILi4300479EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZTS6kernelILi4300920EE = comdat any + +$_ZTS6kernelILi4300656EE = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300288EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any + +$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300028EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300456EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300770EE = comdat any + +$_ZZZ14check_functionILi4300304EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE303_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300389EE = comdat any + +$_ZTS6kernelILi4300582EE = comdat any + +$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300030EE = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm12EE6_S_refERA12_KS4_m = comdat any + +$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300665EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE532_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_ = comdat any + +$_ZTS6kernelILi4300988EE = comdat any + +$_ZTS6kernelILi4300290EE = comdat any + +$_ZTS6kernelILi4301078EE = comdat any + +$_ZTS6kernelILi4300107EE = comdat any + +$_ZZZ14check_functionILi4300513EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE424_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300194EE = comdat any + +$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any + +$_ZZZ14check_functionILi4300888EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE667_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300876EE = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any + +$_ZZZ14check_functionILi4300505EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE416_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNKSt5arrayIiLm7EEixEm = comdat any + +$_ZTS6kernelILi4300460EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300985EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm15EE6_S_refERA15_KS4_m = comdat any + +$_ZZZ14check_functionILi4300004EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE3_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300400EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300755EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300247EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE246_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300354EE = comdat any + +$_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_ = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1DF16_PU3AS1NS1_9half_impl4halfEEET_T0_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300225EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE224_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300598EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300305EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300413EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZTS6kernelILi4300093EE = comdat any + +$_ZZZ14check_functionILi4300025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE24_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301027EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE762_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm16EE6_S_refERA16_KS4_m = comdat any + +$_ZTS6kernelILi4300214EE = comdat any + +$_ZZZ14check_functionILi4300685EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE552_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300897EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZTS6kernelILi4300637EE = comdat any + +$_ZTS6kernelILi4300987EE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300906EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE685_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300503EE = comdat any + +$_ZZZ14check_functionILi4300038EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE37_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300343EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE342_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZZZ14check_functionILi4300229EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE228_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300805EE = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4301022EE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300296EE = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_ = comdat any + +$_ZTS6kernelILi4301044EE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEvEET_RT0_ = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZTS6kernelILi4300279EE = comdat any + +$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZZZ14check_functionILi4300106EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE105_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300346EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_ZTS6kernelILi4300160EE = comdat any + +$_ZTS6kernelILi4300525EE = comdat any + +$_ZZZ14check_functionILi4300161EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE160_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300327EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE326_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZTS6kernelILi4300225EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300589EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301006EE = comdat any + +$_ZTS6kernelILi4300734EE = comdat any + +$_ZTS6kernelILi4300339EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EE4sizeEv = comdat any + +$_ZZZ14check_functionILi4300196EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE195_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300862EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0iS4_EET_T0_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZZZ14check_functionILi4300024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE23_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZZZ14check_functionILi4300999EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE734_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300394EE = comdat any + +$_ZZZ14check_functionILi4300295EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE294_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300186EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE185_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300616EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE483_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZTS6kernelILi4300642EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300811EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE634_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_Z28__spirv_GlobalInvocationId_xv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300308EE = comdat any + +$_ZTS6kernelILi4300779EE = comdat any + +$_ZTS6kernelILi4300859EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZTS6kernelILi4300020EE = comdat any + +$_ZZZ14check_functionILi4300032EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE31_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i = comdat any + +$_ZZZ14check_functionILi4300630EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE497_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301082EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE817_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300918EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE697_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZNKSt5arrayIiLm6EEixEm = comdat any + +$_ZTS6kernelILi4300301EE = comdat any + +$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZZZ14check_functionILi4300014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE13_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300903EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE682_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE760_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300403EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any + +$_ZTS6kernelILi4300591EE = comdat any + +$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300417EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE372_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev = comdat any + +$_ZZZ14check_functionILi4300519EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE430_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm17EEES6_EET_T0_ = comdat any + +$_ZZZ14check_functionILi4300877EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE656_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZTS6kernelILi4300687EE = comdat any + +$_ZZZ14check_functionILi4300051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE50_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_ZTS6kernelILi4300307EE = comdat any + +$_ZTS6kernelILi4300338EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm12EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZTS6kernelILi4301051EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300310EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300539EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any + +$_ZZZ14check_functionILi4300056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE55_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300681EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300735EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300386EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE361_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZNK4sycl3_V16marrayIiLm2EE16FlattenMArrayArgIiiEclERKi = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300110EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE109_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300088EE = comdat any + +$_ZTS6kernelILi4300399EE = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi = comdat any + +$_ZTS6kernelILi4300618EE = comdat any + +$_ZZZ14check_functionILi4300789EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE612_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300032EE = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZZZ14check_functionILi4300160EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE159_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300274EE = comdat any + +$_ZTS6kernelILi4300022EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZZZ14check_functionILi4300037EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE36_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300231EE = comdat any + +$_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_iNS0_3vecIiLi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZTS6kernelILi4300654EE = comdat any + +$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE61_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300220EE = comdat any + +$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300936EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE12_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300989EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZTS6kernelILi4300750EE = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4300928EE = comdat any + +$_ZNKSt17integral_constantImLm0EEcvmEv = comdat any + +$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300596EE = comdat any + +$_ZZZ14check_functionILi4301045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE780_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any + +$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300117EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE116_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm = comdat any + +$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300412EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZTS6kernelILi4300076EE = comdat any + +$_ZZZ14check_functionILi4300129EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE128_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZZZ14check_functionILi4300287EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE286_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300286EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE285_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300180EE = comdat any + +$_ZZZ14check_functionILi4300069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE68_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE72_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300672EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE539_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm8EE6_S_refERA8_KS4_m = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300115EE = comdat any + +$_ZTS6kernelILi4300223EE = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZTS6kernelILi4300921EE = comdat any + +$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZTS6kernelILi4300490EE = comdat any + +$_ZTS6kernelILi4300092EE = comdat any + +$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300628EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE495_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300273EE = comdat any + +$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300351EE = comdat any + +$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZTS6kernelILi4301066EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300996EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_Z20__spirv_GlobalSize_xv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZTS6kernelILi4301007EE = comdat any + +$_ZZZ14check_functionILi4300678EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE545_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE6_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300760EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE583_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300523EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE434_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZTS6kernelILi4300266EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4301039EE = comdat any + +$_ZTS6kernelILi4300148EE = comdat any + +$_ZNSt14__array_traitsIiLm5EE6_S_refERA5_Kim = comdat any + +$_ZZZ14check_functionILi4300020EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE19_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN7__spirv21InitSizesSTGlobalSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv = comdat any + +$_ZZZ14check_functionILi4301070EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE805_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_ = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm9EE6_S_refERA9_KS4_m = comdat any + +$_ZTS6kernelILi4300890EE = comdat any + +$_ZZZ14check_functionILi4300131EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE130_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300228EE = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300113EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE112_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZZZ14check_functionILi4301053EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE788_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any + +$_ZTS6kernelILi4300683EE = comdat any + +$_ZZZ14check_functionILi4301024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE759_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301020EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE755_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300977EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any + +$_ZZZ14check_functionILi4300614EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE481_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300651EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300752EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_Z27__spirv_LocalInvocationId_xv = comdat any + +$_ZTS6kernelILi4300524EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_ = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEES4_RT_ = comdat any + +$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300415EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300733EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE572_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZZZ14check_functionILi4300908EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE687_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300602EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE469_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300208EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE207_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE1_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300608EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300405EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE368_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300599EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300268EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any + +$_ZTS6kernelILi4300801EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any + +$_ZZZ14check_functionILi4300220EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE219_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300172EE = comdat any + +$_ZZZ14check_functionILi4300029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE28_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayIiLm3EEC2Ev = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300876EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300534EE = comdat any + +$_ZTS6kernelILi4300209EE = comdat any + +$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300806EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE629_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300931EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE710_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300015EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZZZ14check_functionILi4300487EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE398_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300623EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZTS6kernelILi4300403EE = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300999EE = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZTS6kernelILi4300064EE = comdat any + +$_ZTS6kernelILi4300992EE = comdat any + +$_ZTS6kernelILi4300787EE = comdat any + +$_ZTS6kernelILi4300798EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE = comdat any + +$_ZTS6kernelILi4300174EE = comdat any + +$_ZTS6kernelILi4300676EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300464EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE387_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300457EE = comdat any + +$_ZZZ14check_functionILi4300893EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE672_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZZZ14check_functionILi4300035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE34_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300729EE = comdat any + +$_ZZZ14check_functionILi4300221EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE220_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4300644EE = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf = comdat any + +$_ZTS6kernelILi4300761EE = comdat any + +$_ZZZ14check_functionILi4300669EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE536_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4301081EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE816_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300483EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300736EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300164EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE163_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300672EE = comdat any + +$_ZTS6kernelILi4300898EE = comdat any + +$_ZTS6kernelILi4300179EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any + +$_ZTS6kernelILi4301072EE = comdat any + +$_ZZZ14check_functionILi4300535EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE446_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300617EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE484_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EE4sizeEv = comdat any + +$_ZTS6kernelILi4300764EE = comdat any + +$_ZTS6kernelILi4300765EE = comdat any + +$_ZTS6kernelILi4300135EE = comdat any + +$_ZZZ14check_functionILi4301006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE741_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300979EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any + +$_ZZZ14check_functionILi4300534EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE445_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300421EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any + +$_ZTS6kernelILi4300752EE = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEEPU3AS0T_Pv = comdat any + +$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300242EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE241_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300290EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE289_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300388EE = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi = comdat any + +$_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any + +$_ZZZ14check_functionILi4300132EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE131_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZTS6kernelILi4300585EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300354EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300126EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE125_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300244EE = comdat any + +$_ZTS6kernelILi4300853EE = comdat any + +$_ZN7__spirv17initWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EEC2EPU3AS0i = comdat any + +$_ZZZ14check_functionILi4300061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE60_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300055EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZZZ14check_functionILi4300529EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE440_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300681EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE548_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZNKSt5arrayIiLm10EEixEm = comdat any + +$_ZTS6kernelILi4301063EE = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300338EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE337_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300662EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE529_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm4EEES8_EET_T0_ = comdat any + +$_ZTS6kernelILi4300512EE = comdat any + +$_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE = comdat any + +$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300572EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any + +$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300491EE = comdat any + +$_ZTS6kernelILi4300917EE = comdat any + +$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300899EE = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300754EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300484EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE395_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4301003EE = comdat any + +$_ZZZ14check_functionILi4301002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE737_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300409EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZZZ14check_functionILi4301047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE782_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301057EE = comdat any + +$_ZZZ14check_functionILi4300006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE5_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZTS6kernelILi4300872EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_ = comdat any + +$_ZTS6kernelILi4300084EE = comdat any + +$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_iNS0_3vecIiLi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any + +$_ZN4sycl3_V16marrayIiLm5EE4sizeEv = comdat any + +$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300173EE = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300598EE = comdat any + +$_ZTS6kernelILi4300730EE = comdat any + +$_ZTS6kernelILi4300222EE = comdat any + +$_ZZZ14check_functionILi4300243EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE242_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZZZ14check_functionILi4300114EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE113_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any + +$_ZTS6kernelILi4300519EE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEvEET_RT0_ = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300068EE = comdat any + +$_ZZZ14check_functionILi4301007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE742_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300530EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE441_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE45_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm6EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any + +$_ZZZ14check_functionILi4300632EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE499_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300122EE = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300760EE = comdat any + +$_ZTS6kernelILi4300888EE = comdat any + +$_ZZZ14check_functionILi4300804EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE627_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300863EE = comdat any + +$_ZTS6kernelILi4300177EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any + +$_ZZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZTS6kernelILi4300086EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any + +$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4301064EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE799_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300582EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIS4_Lm4EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300240EE = comdat any + +$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300398EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE365_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ14check_functionILi4300769EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE592_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300744EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE575_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300657EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE524_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm17EEEEPU3AS0T_Pv = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZZZ14check_functionILi4300127EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE126_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNSt14__array_traitsIiLm1EE6_S_refERA1_Kim = comdat any + +$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4301033EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE768_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZZZ14check_functionILi4300501EN4sycl3_V16marrayIiLm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE412_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm2EEEEPU3AS0T_Pv = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZTS6kernelILi4300918EE = comdat any + +$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300419EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZTS6kernelILi4300255EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300180EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE179_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZTS6kernelILi4300065EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300677EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE544_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZTS6kernelILi4300021EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300575EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZTS6kernelILi4300785EE = comdat any + +$_ZTS6kernelILi4300520EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any + +$_ZTS6kernelILi4301004EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300969EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE724_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301046EE = comdat any + +$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300731EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4301019EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300476EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE391_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayIiLm17EE4sizeEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300473EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIiEPU3AS0T_Pv = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300209EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE208_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEES4_RT_ = comdat any + +$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any + +$_ZNSt14__array_traitsIiLm16EE6_S_refERA16_Kim = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300854EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE649_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any + +$_ZZZ14check_functionILi4300686EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE553_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300010EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE9_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301013EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0iPiEET_T0_ = comdat any + +$_ZTS6kernelILi4300461EE = comdat any + +$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any + +$_ZTS6kernelILi4301070EE = comdat any + +$_ZTS6kernelILi4300500EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any + +$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300971EE = comdat any + +$_ZZZ14check_functionILi4300289EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE288_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm = comdat any + +$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300527EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE438_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301077EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300747EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm10EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300128EE = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZTS6kernelILi4300759EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE = comdat any + +$_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim = comdat any + +$_ZZZ14check_functionILi4300682EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE549_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300211EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300655EE = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev = comdat any + +$_ZNSt14__array_traitsIiLm10EE6_S_refERA10_Kim = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300765EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE588_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm1EE6_S_refERA1_KS4_m = comdat any + +$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300320EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE319_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300024EE = comdat any + +$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300240EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE239_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300768EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300298EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE297_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300135EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE134_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300541EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300875EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300165EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE164_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm3EEES6_EET_T0_ = comdat any + +$_ZTS6kernelILi4300318EE = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE = comdat any + +$_ZZZ14check_functionILi4301039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE774_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300930EE = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300000EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300903EE = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300085EE = comdat any + +$_ZZZ14check_functionILi4300153EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE152_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300597EE = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300170EE = comdat any + +$_ZN7__spirv23InitSizesSTGlobalOffsetILi1EN4sycl3_V12idILi1EEEE8initSizeEv = comdat any + +$_ZZZ14check_functionILi4300805EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE628_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300807EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE630_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300112EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE111_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300212EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE211_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300586EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300344EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE343_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZZZ14check_functionILi4300757EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE580_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300533EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE444_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZTS6kernelILi4300163EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300538EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZTS6kernelILi4300812EE = comdat any + +$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300405EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300792EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300869EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301075EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE810_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300856EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZZZ14check_functionILi4301000EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE735_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE1EEEEES4_RT_ = comdat any + +$_ZTS6kernelILi4300178EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300669EE = comdat any + +$_ZTS6kernelILi4300797EE = comdat any + +$_ZTS6kernelILi4300937EE = comdat any + +$_ZTS6kernelILi4300881EE = comdat any + +$_ZZZ14check_functionILi4300680EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE547_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNKSt5arrayIiLm3EEixEm = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_ZTS6kernelILi4300398EE = comdat any + +$_ZN4sycl3_V17nd_itemILi1EEC2ERKNS0_4itemILi1ELb1EEERKNS3_ILi1ELb0EEERKNS0_5groupILi1EEE = comdat any + +$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300579EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE462_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300776EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZTS6kernelILi4300031EE = comdat any + +$_ZTS6kernelILi4300611EE = comdat any + +$_ZTS6kernelILi4301010EE = comdat any + +$_ZTS6kernelILi4300182EE = comdat any + +$_ZTS6kernelILi4300613EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm3EEES8_EET_T0_ = comdat any + +$_ZZZ14check_functionILi4300001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE0_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300810EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE633_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300322EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE321_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZZZ14check_functionILi4300919EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE698_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE791_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300309EE = comdat any + +$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_ = comdat any + +$_ZTS6kernelILi4300025EE = comdat any + +$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300033EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE32_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301025EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300285EE = comdat any + +$_ZTS6kernelILi4300101EE = comdat any + +$_ZTS6kernelILi4300492EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300410EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE369_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15groupILi1EEC2ERKNS0_5rangeILi1EEES6_S4_RKNS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300280EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE279_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZTS6kernelILi4300241EE = comdat any + +$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300399EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE366_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300620EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300786EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE609_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300484EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZTS6kernelILi4300751EE = comdat any + +$_ZZZ14check_functionILi4300622EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE489_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300294EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300799EE = comdat any + +$_ZTS6kernelILi4301065EE = comdat any + +$_ZZZ14check_functionILi4300003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE2_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_ZZZ14check_functionILi4300274EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE273_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300885EE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZTS6kernelILi4300599EE = comdat any + +$_ZTS6kernelILi4301023EE = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE4sizeEv = comdat any + +$_ZTS6kernelILi4300413EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300872EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE655_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300232EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300527EE = comdat any + +$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300601EE = comdat any + +$_ZTS6kernelILi4301011EE = comdat any + +$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300514EE = comdat any + +$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4301081EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any + +$_ZZZ14check_functionILi4300197EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE196_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4301065EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE800_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm = comdat any + +$_ZZZ14check_functionILi4300265EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE264_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE775_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300308EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE307_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4300476EE = comdat any + +$_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_ = comdat any + +$_ZTS6kernelILi4300249EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS3DF16_PU3AS3NS1_9half_impl4halfEEET_T0_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZZZ14check_functionILi4300071EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE70_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300303EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE302_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i = comdat any + +$_ZZZ14check_functionILi4300659EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE526_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE = comdat any + +$_ZTS6kernelILi4300411EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZTS6kernelILi4300393EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300691EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE558_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300400EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm7EE6_S_refERA7_KS4_m = comdat any + +$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300786EE = comdat any + +$_ZZZ14check_functionILi4300146EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE145_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE = comdat any + +$_ZZZ14check_functionILi4300511EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE422_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300016EE = comdat any + +$_ZTS6kernelILi4300033EE = comdat any + +$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300633EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE500_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300799EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE622_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4301071EE = comdat any + +$_ZZZ14check_functionILi4300107EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE106_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZTS6kernelILi4301005EE = comdat any + +$_ZTS6kernelILi4300127EE = comdat any + +$_ZTS6kernelILi4300057EE = comdat any + +$_ZZZ14check_functionILi4300104EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE103_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EEC2EPU3AS0S4_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300932EE = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZZZ14check_functionILi4301046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE781_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300900EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE679_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE753_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZZZ14check_functionILi4300231EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE230_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300906EE = comdat any + +$_ZTS6kernelILi4300767EE = comdat any + +$_ZTS6kernelILi4300537EE = comdat any + +$_ZTS6kernelILi4300247EE = comdat any + +$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE = comdat any + +$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300742EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any + +$_ZZZ14check_functionILi4300634EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE501_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300285EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE284_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300480EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300316EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE315_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300679EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE546_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300050EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZZZ14check_functionILi4300141EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE140_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm2EEEPS6_EET_T0_ = comdat any + +$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any + +$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZZZ14check_functionILi4300124EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE123_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZTS6kernelILi4300691EE = comdat any + +$_ZZZ14check_functionILi4300342EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE341_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE = comdat any + +$_ZZZ14check_functionILi4300260EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE259_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZTS6kernelILi4300851EE = comdat any + +$_ZN4sycl3_V16marrayIiLm17EEixEm = comdat any + +$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZTS6kernelILi4300176EE = comdat any + +$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm4EEEEPU3AS0T_Pv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300874EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZZZ14check_functionILi4300167EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE166_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300731EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm3EEEEPU3AS0T_Pv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IDv4_DF16_vEES7_ = comdat any + +$_ZTS6kernelILi4300264EE = comdat any + +$_ZTS6kernelILi4300000EE = comdat any + +$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZTS6kernelILi4300171EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300345EE = comdat any + +$_ZZZ14check_functionILi4300661EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE528_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301048EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE783_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300134EE = comdat any + +$_ZTS6kernelILi4300610EE = comdat any + +$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300991EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300095EE = comdat any + +$_ZZZ14check_functionILi4300238EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE237_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZZZ14check_functionILi4300492EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE403_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300632EE = comdat any + +$_ZTS6kernelILi4300884EE = comdat any + +$_ZZZ14check_functionILi4300526EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE437_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS3iPiEET_T0_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any + +$_ZTS6kernelILi4300629EE = comdat any + +$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300162EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300859EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE650_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300894EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE673_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE83_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300929EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE708_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev = comdat any + +$_ZN4sycl3_V16detail5arrayILi1EEixEi = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any + +$_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIN4sycl3_V16detail9half_impl4halfEEPU3AS1T_Pv = comdat any + +$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300883EE = comdat any + +$_ZTS6kernelILi4300300EE = comdat any + +$_ZZZ14check_functionILi4300292EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE291_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300175EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE174_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300643EE = comdat any + +$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300854EE = comdat any + +$_ZTS6kernelILi4300158EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300406EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300857EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300802EE = comdat any + +$_ZTS6kernelILi4300667EE = comdat any + +$_ZZZ14check_functionILi4300486EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE397_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300593EE = comdat any + +$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300517EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE428_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300974EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE725_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300113EE = comdat any + +$_ZN4sycl3_V114local_accessorIiLi1EEC2Ev = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZZZ14check_functionILi4300648EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE515_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4301083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE818_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300913EE = comdat any + +$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_ = comdat any + +$_ZTS6kernelILi4300753EE = comdat any + +$_ZZZ14check_functionILi4300336EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE335_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZZZ14check_functionILi4300913EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE692_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300638EE = comdat any + +$_ZTS6kernelILi4301082EE = comdat any + +$_ZTS6kernelILi4300350EE = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm6EE6_S_refERA6_KS4_m = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZTS6kernelILi4300329EE = comdat any + +$_ZZZ14check_functionILi4300490EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE401_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300245EE = comdat any + +$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300313EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE312_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300882EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE661_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300915EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE694_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300421EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZTS6kernelILi4300319EE = comdat any + +$_ZZZ14check_functionILi4300314EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE313_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE809_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300516EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300263EE = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4301084EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300794EE = comdat any + +$_ZZZ14check_functionILi4300920EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE699_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNKSt5arrayIiLm9EEixEm = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIS4_Lm3EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZTS6kernelILi4301085EE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300728EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZTS6kernelILi4300665EE = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm2EE6_S_refERA2_KS4_m = comdat any + +$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4301064EE = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300149EE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEvEET_RT0_ = comdat any + +$_ZZZ14check_functionILi4300262EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE261_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300855EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZTS6kernelILi4301047EE = comdat any + +$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300976EE = comdat any + +$_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE7getSizeEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300454EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300745EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE576_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300584EE = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EE4sizeEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEEPU3AS0T_Pv = comdat any + +$_ZZZ14check_functionILi4300788EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE611_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZNK4sycl3_V16marrayIiLm2EEixEm = comdat any + +$_ZTS6kernelILi4300049EE = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm17EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any + +$_ZTS6kernelILi4301034EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZZZ14check_functionILi4300666EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE533_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300295EE = comdat any + +$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any + +$_ZNK4sycl3_V13vecIiLi16EEcvDv16_iEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZNK4sycl3_V13vecIiLi3EEcvDv3_iEv = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEvEET_RT0_ = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ14check_functionILi4300335EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE334_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm5EEEPS4_EET_T0_ = comdat any + +$_ZZZ14check_functionILi4300348EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE347_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE33_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300994EE = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfES6_EET_T0_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300022EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE21_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300116EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE115_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm = comdat any + +$_ZTS6kernelILi4300045EE = comdat any + +$_ZTS6kernelILi4300063EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4300741EE = comdat any + +$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300003EE = comdat any + +$_ZZZ14check_functionILi4300667EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE534_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300093EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE92_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300477EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE392_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300729EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16marrayIiLm2EEC2IJLm0ELm1EEEERKSt5arrayIiLm2EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300329EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE328_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300521EE = comdat any + +$_ZTS6kernelILi4300536EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZTS6kernelILi4300121EE = comdat any + +$_ZTS6kernelILi4300454EE = comdat any + +$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300179EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE178_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE819_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZZZ14check_functionILi4300125EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE124_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300649EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE516_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300675EE = comdat any + +$_ZZZ14check_functionILi4300895EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE674_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300684EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE551_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZZZ14check_functionILi4300337EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE336_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZZZ14check_functionILi4300023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE22_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300815EE = comdat any + +$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300587EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZTS6kernelILi4300352EE = comdat any + +$_ZTS6kernelILi4300684EE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any + +$_ZZZ14check_functionILi4300142EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE141_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300458EE = comdat any + +$_ZTS6kernelILi4300192EE = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4300211EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE210_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any + +$_ZZZ14check_functionILi4300101EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE100_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZZZ14check_functionILi4300503EN4sycl3_V16marrayIiLm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE414_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300311EE = comdat any + +$_ZTS6kernelILi4300991EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300867EE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300815EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_ = comdat any + +$_ZTS6kernelILi4300848EE = comdat any + +$_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi = comdat any + +$_ZZZ14check_functionILi4300009EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE8_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayIiLm4EEixEm = comdat any + +$_ZTS6kernelILi4300757EE = comdat any + +$_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300884EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE663_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any + +$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZTS6kernelILi4300416EE = comdat any + +$_ZZZ14check_functionILi4300522EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE433_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300810EE = comdat any + +$_ZTS6kernelILi4300324EE = comdat any + +$_ZZZ14check_functionILi4300269EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE268_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNSt14__array_traitsIiLm14EE6_S_refERA14_Kim = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300098EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE97_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm14EE6_S_refERA14_KS4_m = comdat any + +$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ14check_functionILi4301004EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE739_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300506EE = comdat any + +$_ZTS6kernelILi4300809EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300587EE = comdat any + +$_ZTS6kernelILi4300912EE = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300583EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300682EE = comdat any + +$_ZZZ14check_functionILi4300603EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE470_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any + +$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300990EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16marrayIiLm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIiLm17EESt16integer_sequenceImJXspT_EEE = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZTS6kernelILi4301012EE = comdat any + +$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any + +$_ZTS6kernelILi4300662EE = comdat any + +$_ZTS6kernelILi4300212EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300185EE = comdat any + +$_ZZZ14check_functionILi4301031EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE766_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4301048EE = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300389EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZTS6kernelILi4301043EE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any + +$_ZTS6kernelILi4300221EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_ZN4sycl3_V16marrayIiLm2EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any + +$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any + +$_ZZZ14check_functionILi4300226EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE225_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any + +$_ZTS6kernelILi4300631EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZZZ14check_functionILi4300889EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE668_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZZZ14check_functionILi4300291EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE290_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300193EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE192_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300206EE = comdat any + +$_ZTS6kernelILi4300924EE = comdat any + +$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300775EE = comdat any + +$_ZTS6kernelILi4301001EE = comdat any + +$_ZTS6kernelILi4300605EE = comdat any + +$_ZTS6kernelILi4300004EE = comdat any + +$_ZZZ14check_functionILi4300228EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE227_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300668EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE535_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300493EE = comdat any + +$_ZZZ14check_functionILi4300138EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE137_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300078EE = comdat any + +$_ZZZ14check_functionILi4300266EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE265_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300082EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZTS6kernelILi4300302EE = comdat any + +$_ZZZ14check_functionILi4300123EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE122_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300777EE = comdat any + +$_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE1EEEEES4_RT_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any + +$_ZZZ14check_functionILi4300671EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE538_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300690EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE557_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm = comdat any + +$_ZTS6kernelILi4300880EE = comdat any + +$_ZN4sycl3_V13vecIiLi2EEC2IDv2_ivEES4_ = comdat any + +$_ZZZ14check_functionILi4300202EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE201_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300351EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE350_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300478EE = comdat any + +$_ZTS6kernelILi4300874EE = comdat any + +$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any + +$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZTS6kernelILi4300807EE = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any + +$_ZTS6kernelILi4300989EE = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300387EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE362_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any + +$_ZTS6kernelILi4300326EE = comdat any + +$_ZTS6kernelILi4300210EE = comdat any + +$_ZTS6kernelILi4300865EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300578EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE461_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300420EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300195EE = comdat any + +$_ZZZ14check_functionILi4300159EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE158_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300580EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm3EEEPS6_EET_T0_ = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any + +$_ZTS6kernelILi4300112EE = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300001EE = comdat any + +$_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZTS6kernelILi4300303EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ14check_functionILi4300103EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE102_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any + +$_ZTS6kernelILi4300044EE = comdat any + +$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300516EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE427_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300574EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300868EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZZZ14check_functionILi4301061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE796_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300227EE = comdat any + +$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any + +$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZZZ14check_functionILi4300687EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE554_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300975EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE726_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IDv16_DF16_vEES7_ = comdat any + +$_ZTS6kernelILi4300067EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any + +$_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv = comdat any + +$_ZZZ14check_functionILi4300259EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE258_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any + +$_ZTS6kernelILi4301040EE = comdat any + +$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300130EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE129_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE = comdat any + +$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any + +$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEEPU3AS0T_Pv = comdat any + +$_ZZZ14check_functionILi4300256EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE255_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300850EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300748EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300472EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300734EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any + +$_ZZZ14check_functionILi4300783EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE606_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300688EE = comdat any + +$_ZTS6kernelILi4300908EE = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any + +$_ZZZ31check_function_multi_ptr_globalILi4300540EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any + +$_ZZZ14check_functionILi4301012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE747_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300203EE = comdat any + +$_ZTS6kernelILi4300409EE = comdat any + +$_ZTS6kernelILi4300533EE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_ = comdat any + +$_ZTS6kernelILi4301059EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300995EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any + +$_ZTS6kernelILi4300010EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300861EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZZZ14check_functionILi4301079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE814_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE786_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300038EE = comdat any + +$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_ = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300353EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev = comdat any + +$_ZZZ14check_functionILi4300244EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE243_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300258EE = comdat any + +$_ZTS6kernelILi4300136EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZTS6kernelILi4300647EE = comdat any + +$_ZTS6kernelILi4300054EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any + +$_ZTS6kernelILi4301031EE = comdat any + +$_ZZZ14check_functionILi4301059EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE794_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_ = comdat any + +$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300110EE = comdat any + +$_ZZZ14check_functionILi4300331EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE330_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300296EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE295_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300453EE = comdat any + +$_ZTS6kernelILi4300452EE = comdat any + +$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZTS6kernelILi4300590EE = comdat any + +$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any + +$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any + +$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any + +$_ZTS6kernelILi4300878EE = comdat any + +$_ZTS6kernelILi4300456EE = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any + +$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any + +$_ZZZ14check_functionILi4300121EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE120_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300478EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any + +$_ZN7__spirv14initGlobalSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v = comdat any + +$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any + +$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any + +$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZTS6kernelILi4300108EE = comdat any + +$_ZTS6kernelILi4300602EE = comdat any + +$_ZZZ14check_functionILi4300044EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE43_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300002EE = comdat any + +$_ZZZ30check_function_multi_ptr_localILi4300976EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any + +$_ZTS6kernelILi4300604EE = comdat any + +$_ZZZ14check_functionILi4300278EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE277_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNKSt5arrayIiLm11EEixEm = comdat any + +$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZZZ14check_functionILi4300210EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE209_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any + +$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300151EE = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any + +$_ZTS6kernelILi4301014EE = comdat any + +$_ZTS6kernelILi4300395EE = comdat any + +$_ZZZ14check_functionILi4300629EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE496_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4301044EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE779_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev = comdat any + +$_ZZZ14check_functionILi4300620EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE487_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNKSt5arrayIiLm2EEixEm = comdat any + +$_ZN4sycl3_V13vecIiLi3EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any + +$_ZTS6kernelILi4300674EE = comdat any + +$_ZZZ14check_functionILi4301052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE787_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any + +$_ZTS6kernelILi4300042EE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEvEET_RT0_ = comdat any + +$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ14check_functionILi4300345EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE344_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300299EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any + +$_ZZZ14check_functionILi4300528EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE439_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZZZ14check_functionILi4300664EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE531_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4300418EE = comdat any + +$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any + +$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any + +$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any + +$_ZTS6kernelILi4300216EE = comdat any + +$_ZTS6kernelILi4301030EE = comdat any + +$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any + +$_ZZZ32check_function_multi_ptr_privateILi4300853EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE648_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any + +$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi = comdat any + +$_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE = comdat any + +$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any + +$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any + +$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any + +$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE4sizeEv = comdat any + +$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any + +$_ZZZ14check_functionILi4300301EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE300_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301075EE = comdat any + +$_ZTS6kernelILi4300879EE = comdat any + +$_ZTS6kernelILi4300910EE = comdat any + +$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZTS6kernelILi4300207EE = comdat any + +$_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE = comdat any + +$_ZZZ14check_functionILi4301066EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE801_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_ = comdat any + +$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EE13get_decoratedEv = comdat any + +$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any + +$_ZNKSt5arrayIiLm13EEixEm = comdat any + +$_ZZZ14check_functionILi4300263EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE262_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any + +$_ZTS6kernelILi4301053EE = comdat any + +$_ZTS6kernelILi4300234EE = comdat any + +@__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE417_clEv.inputData_1 = private unnamed_addr addrspace(1) constant %"class.sycl::_V1::vec.2018" { <3 x i32> }, align 16 +@__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE603_clEv.inputData_1 = private unnamed_addr addrspace(1) constant %"class.sycl::_V1::vec.2018" { <3 x i32> }, align 16 +@__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE669_clEv.inputData_1 = private unnamed_addr addrspace(1) constant %"class.sycl::_V1::vec.2018" { <3 x i32> }, align 16 +@__spirv_BuiltInGlobalSize = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 +@__spirv_BuiltInNumWorkgroups = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 +@__spirv_BuiltInGlobalOffset = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 +@__spirv_BuiltInGlobalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 +@__spirv_BuiltInLocalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 +@__spirv_BuiltInWorkgroupId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 +@__spirv_BuiltInGlobalLinearId = external dso_local local_unnamed_addr addrspace(1) constant i64, align 8 +@__spirv_BuiltInWorkgroupSize = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300468EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300468EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300258EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE257_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !72 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300860EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300860EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE651_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300488EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE399_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !79 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !79 + store float 0x3FD4A37AE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !79 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !79 + store float 0x3FCA308E60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !79 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !79 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !79 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !79 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !79 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !79 + store float 0x3FE5F08A80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !79 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !79 + store float 0x3FDFC305E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !79 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !79 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !79 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !79 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !79 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !79 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !79 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !79 + call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !79 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !79 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%union.anon) align 8 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr addrspace(1) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300983EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1824.213, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300983EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300276EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE275_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !91 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300152EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300152EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE151_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %X.ascast = addrspacecast ptr %X to ptr addrspace(4) + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %X.ascast, i64 noundef %Start) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %add = add i64 %Start, 1 + %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %X.ascast, i64 noundef %add) #13 + %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !102 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !104 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300653EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE520_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !106 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !106 + store float 0x3FE8BD34E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !106 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !106 + store float 0x3FD35F7D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !106 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !106 + store float 0x3FE0547FE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !106 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !106 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !106 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !106 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !106 + call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !106 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IDv8_DF16_vEES7_(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, <8 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { +entry: + store <8 x half> %openclVector, ptr addrspace(4) %this, align 16, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300291EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300291EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE290_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !112 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300980EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300980EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE727_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300091EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300091EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE90_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder10createItemILi1ELb0EEENSt9enable_ifIXntT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::item.1524") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index) #1 comdat align 2 !srcloc !113 { +entry: + tail call spir_func void @_ZN4sycl3_V14itemILi1ELb0EEC2ILb0EEERNSt9enable_ifIXntT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm3EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm3EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp5 = alloca %"class.sycl::_V1::marray.2250", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp5) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp5.ascast) #13 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp5) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300327EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300327EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE326_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300177EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE176_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !116 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300806EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300806EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE629_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300318EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE317_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH3961, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !120 + store half 0xH3AAD, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !120 + call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300849EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !123 + store float 0x3FE9AA1B00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !123 + store float 0x3FE62A97C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !123 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !123 + store float 0x3FDE308860000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !123 + store float 0x3FDEEFAF40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !123 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !123 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !123 + store i32 12216, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !123 + store i32 29167, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !123 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !123 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !123 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !123 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !123 + store i32 %2, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !123 + %3 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !123 + store i32 %3, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !123 + %4 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !123 + store i64 %4, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !123 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !123 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %5 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %5, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %6 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 + store i64 %6, ptr addrspace(4) %call8, align 4, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301073EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE808_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300250EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300250EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE249_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300649EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300649EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE516_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300123EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300123EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE122_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !131 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300348EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300348EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE347_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300094EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300094EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE93_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i16, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !134 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300816EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !135 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !135 + store half 0xH3B20, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !135 + store half 0xH304E, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !135 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !135 + store i64 %0, ptr %agg.tmp4.i, align 8, !tbaa !128, !noalias !135 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp4.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !135 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300787EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE610_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !138 + store float 0x3FE2558280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !138 + store float 0x3FD3C98880000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !138 + store float 0x3FE7B2C3E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !138 + store float 0x3FE252FBC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !138 + store float 0x3FE3B91E60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !138 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !138 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !138 + store i32 32017, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !138 + store i32 24266, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !138 + store i32 31734, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !138 + store i32 -10039, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !138 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !138 + store i32 -2805, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !138 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !138 + call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !138 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !138 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm4EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300509EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300509EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE420_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <2 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !142 { +entry: + %call = tail call spir_func noundef <2 x i32> @_ZNK4sycl3_V13vecIiLi2EEcvDv2_iEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + ret <2 x i32> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !144 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm3EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(12) %left, ptr addrspace(4) noundef align 4 dereferenceable(12) %right) #1 comdat !srcloc !145 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm3EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !146 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300619EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300619EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE486_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300763EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE586_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !147 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !147 + store float 0x3FD2CA3BC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !147 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !147 + store float 0x3FC69A6E20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !147 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !147 + store float 0x3FDE3A7F60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !147 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !147 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !147 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !147 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !147 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !147 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !147 + store float 0x3FCC1C7A60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !147 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !147 + store float 0x3FDC735040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !147 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !147 + store float 0x3FE5F46620000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !147 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !147 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !147 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !147 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !147 + call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !147 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !147 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !151 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300174EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE173_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !152 + store float 0x3FE3C9EA60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !152 + store float 0x3FC699FDC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !152 + store float 0x3FE85C3AC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !152 + store float 0x3FD77B21A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !152 + store float 0x3FEBA6DA60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !152 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !152 + call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !152 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { +entry: + br label %arrayinit.body + +arrayinit.body: ; preds = %arrayinit.body, %entry + %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] + %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx + store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 + %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 + %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 4 + br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body + +arrayinit.end2: ; preds = %arrayinit.body + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !157 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300271EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300271EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE270_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300355EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !158 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !158 + store half 0xH36C9, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !158 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !158 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !158 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !158 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(28) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300791EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300791EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE614_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !166 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300664EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300664EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE531_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301029EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE764_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !167 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !168 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !169 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !169 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !169 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !169 + %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fminDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !173 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300284EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE283_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !175 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !175 + store float 0x3FCA7B81A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !175 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !175 + store float 0x3FDEF2A080000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !175 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !175 + store float 0x3FE5FE56A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !175 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !175 + store float 0x3FE8898160000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !175 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !175 + store float 0x3FD09EB1C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !175 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !175 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !175 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !175 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !175 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !175 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !175 + call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !175 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300137EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE136_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !178 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp7 = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp7.ascast = addrspacecast ptr %ref.tmp7 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp7.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm4EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp7.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !183 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !184 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !184 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !184 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !184 + %call7.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_powDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300866EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE653_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %ref.tmp13.i = alloca i32, align 4 + %ref.tmp14.i = alloca i32, align 4 + %ref.tmp15.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp17.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2354.236, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp17.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !187 + store float 0x3FE4796E60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !187 + store float 0x3FE87E21C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !187 + store float 0x3FE3ABAF60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !187 + store float 0x3FBAFC9320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !187 + store float 0x3FE2B5B500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !187 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !187 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !187 + store float 0x3FD232D160000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !187 + store float 0x3FE35F93C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !187 + store float 0x3FD8B86A20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !187 + store float 0x3FD7205600000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !187 + store float 0x3FBF76B3A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !187 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !187 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !187 + store i32 -10935, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !187 + store i32 -4722, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !187 + store i32 10072, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !187 + store i32 8001, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !187 + store i32 -28580, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !187 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !187 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !187 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !187 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !187 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !187 + store i64 %0, ptr %agg.tmp17.i, align 8, !tbaa !128, !noalias !187 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp17.i) #14, !noalias !187 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !187 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp17.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300155EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300155EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE154_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !192 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi16EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 64 dereferenceable_or_null(64) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { +entry: + %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 + %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 + %splat.splatinsert = insertelement <16 x i32> poison, i32 %call, i64 0 + %splat.splat = shufflevector <16 x i32> %splat.splatinsert, <16 x i32> poison, <16 x i32> zeroinitializer + store <16 x i32> %splat.splat, ptr addrspace(4) %this, align 64, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !195 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300640EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE507_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !196 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300191EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300191EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE190_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300627EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE494_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !200 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300393EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE364_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1778.210, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !203 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !203 + store float 0x3FC6793440000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !203 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !203 + store float 0x3FEB4165A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !203 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !203 + store float 0x3FCADD2360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !203 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !203 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !203 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !203 + store float 0x3FE19C8240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !203 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !203 + store float 0x3FE3BD6800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !203 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !203 + store float 0x3FD92659A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !203 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !203 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !203 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !203 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !203 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !203 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !203 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !203 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !203 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <3 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEcvDv3_DF16_Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !207 { +entry: + %loadVec4 = load <4 x half>, ptr addrspace(4) %this, align 8 + %extractVec = shufflevector <4 x half> %loadVec4, <4 x half> poison, <3 x i32> + ret <3 x half> %extractVec +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !208 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !210 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_log1pDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300658EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE525_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp3.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !213 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !213 + store <2 x half> , ptr %agg.tmp3.i, align 4, !tbaa.struct !90, !noalias !213 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <4 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEcvDv4_DF16_Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !207 { +entry: + %0 = load <4 x half>, ptr addrspace(4) %this, align 8, !tbaa !69 + ret <4 x half> %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300339EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE338_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH3871, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !216 + store half 0xH381D, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !216 + call spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300119EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE118_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !219 + store float 0x3FE9315EE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !219 + store float 0x3FC9458DC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !219 + store float 0x3FE3B79020000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !219 + store float 0x3FC8E88100000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !219 + store float 0x3FE6130F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !219 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !219 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !219 + store float 0x3FD8C6A2A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !219 + store float 0x3FE47A1B80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !219 + store float 0x3FE5358D60000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !219 + store float 0x3FE41C9040000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !219 + store float 0x3FD1BE67A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !219 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !219 + call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !219 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !219 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300406EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1862.215, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300406EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !224 + %call.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !224 + store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !224 + %call2.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !224 + %call3.i = call spir_func noundef <4 x half> @_Z16__spirv_ocl_fmaxDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 + %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 + %conv = fptrunc float %call to half + %splat.splatinsert = insertelement <3 x half> poison, half %conv, i64 0 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %extractVec = shufflevector <3 x half> %splat.splatinsert, <3 x half> poison, <4 x i32> + store <4 x half> %extractVec, ptr addrspace(4) %this, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !229 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !230 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !231 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !231 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !231 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !231 + %call7.i = tail call spir_func noundef <3 x half> @_Z21__spirv_ocl_remainderDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !235 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !236 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !236 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_roundDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !239 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !240 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !240 + %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_logDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !243 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !244 + %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_erfDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300353EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1520.196, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 + store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300353EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE7_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !249 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !249 + store float 0x3FE44E0240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !249 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !249 + store float 0x3FB9D58440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !249 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !249 + store float 0x3FDFABD2E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !249 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !249 + store float 0x3FE9691F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !249 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !249 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !249 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !249 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !249 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !249 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !249 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !249 + call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !249 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300808EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300808EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE631_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !253 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !256 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300183EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE182_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !258 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !258 + store float 0x3FE04330C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !258 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !258 + store float 0x3FE0DA8D20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !258 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !258 + store float 0x3FC447B740000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !258 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !258 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !258 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !258 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !258 + call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !258 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300455EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2223, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300455EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300192EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE191_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !261 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300785EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE608_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !264 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !264 + store float 0x3FC0111740000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !264 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !264 + store float 0x3FDAA0B6E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !264 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !264 + store float 0x3FBF3637E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !264 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !264 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !264 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !264 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !264 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !264 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !264 + store i32 -3632, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !264 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !264 + store i32 -6387, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !264 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !264 + store i32 -21833, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !264 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !264 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !264 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !264 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !264 + call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !264 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !264 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300213EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE212_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !267 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3, i32 noundef %a1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !273 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !274 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !274 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_exp10DF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300740EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1824.213, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300740EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv24InitSizesSTWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !277 { +entry: + %call = tail call spir_func noundef i64 @_ZN7__spirvL16getWorkgroupSizeILi0EEEmv() #13 + tail call spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !280 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !281 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !281 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_ceilDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300005EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE4_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !284 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300261EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE260_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !287 + store float 0x3FD6C153C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !287 + store float 0x3FE5DDD6C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !287 + store float 0x3FBE933160000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !287 + store float 0x3FDCA230C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !287 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !287 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !287 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !287 + call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !287 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300521EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE432_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !290 + store float 0x3FEB41D4A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !290 + store float 0x3FEC8E0440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !290 + store float 0x3FDFD6CFC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !290 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !290 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, i32 noundef 8025) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !290 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300775EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE598_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !293 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !293 + store float 0x3FE420AA00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !293 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !293 + store float 0x3FC67C3C60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !293 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !293 + store float 0x3FE8DD40A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !293 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !293 + store float 0x3FEA29DD40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !293 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !293 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !293 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !293 + store float 0x3FE5519680000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !293 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !293 + store float 0x3FE975C080000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !293 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !293 + store float 0x3FE6E67B20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !293 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !293 + store float 0x3FD07815E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !293 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !293 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !293 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !293 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !293 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !293 + call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !293 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300343EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300343EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE342_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300036EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE35_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !296 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !297 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !297 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !297 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !297 + %call7.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_maxmagDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayIiLm4EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !303 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EEC2EPU3AS0i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !306 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !230 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !308 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !308 + %call3.i = tail call spir_func noundef <16 x half> @_Z21__spirv_ocl_remainderDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !312 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !319 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !319 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !319 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !319 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !319 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + %0 = load i32, ptr %res_t, align 2, !tbaa !69 + store i32 %0, ptr addrspace(4) %this, align 4, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load i64, ptr %resArg_t, align 4, !tbaa !69 + store i64 %1, ptr addrspace(4) %resArg, align 4, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm4EE4sizeEv() #1 comdat align 2 !srcloc !325 { +entry: + ret i64 4 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300014EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE13_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE67_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 61324517587106, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !326 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !330 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !332 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !333 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_logbDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !337 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !339 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300407EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1862.215, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300407EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #4 comdat align 2 !srcloc !343 { +entry: + tail call spir_func void @_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef 0) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300332EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300332EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE331_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !344 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm12EE6_S_refERA12_Kim(ptr addrspace(4) noundef align 4 dereferenceable(48) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !347 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300255EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE254_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 59885666318570, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !348 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !352 + ret ptr addrspace(1) %0 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm4EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301009EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE744_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH35AE, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !355 + call spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300264EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE263_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH3601, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !358 + store half 0xH3B2B, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !358 + call spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !362 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !363 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !363 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_atanhDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300106EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300106EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE105_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <2 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEcvDv2_DF16_Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this) #1 comdat align 2 !srcloc !207 { +entry: + %0 = load <2 x half>, ptr addrspace(4) %this, align 4, !tbaa !69 + ret <2 x half> %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300278EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300278EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE277_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !367 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !368 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !368 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_tanpiDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !372 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !375 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !376 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !377 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !377 + %call3.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_hypotDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300297EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE296_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH36BF, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !380 + store half 0xH3A04, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !380 + call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300019EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE18_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300915EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300915EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE694_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !383 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300102EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE101_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !385 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !388 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !389 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !389 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !389 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !389 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_fminDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300466EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2317, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300466EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm10EE6_S_refERA10_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(20) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %value) #1 comdat align 2 !srcloc !393 { +entry: + %0 = load i16, ptr %value, align 2, !tbaa !99 + store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [2 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !397 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300349EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300349EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE348_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300992EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE731_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1892.216, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !398 + store float 0x3FECC815A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !398 + store float 0x3FD98E1600000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !398 + store float 0x3FE2BF0FC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !398 + store float 0x3FE2CAD540000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !398 + store float 0x3FE62A4E20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !398 + store float 0x3FC2A942C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !398 + store float 0x3FE6BD1CA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !398 + store float 0x3FE7C1BD00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !398 + store float 0x3FD3241F20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !398 + store float 0x3FEAFC3D00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !398 + store float 0x3FCC222E40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !398 + store float 0x3FD64000E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !398 + store float 0x3FD58E7DE0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !398 + store float 0x3FECAD7640000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !398 + store float 0x3FE059EE00000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !398 + store float 0x3FBECEFDC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !398 + store float 0x3FD7FE39A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !398 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !398 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !398 + store float 0x3FE446D560000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !398 + store float 0x3FC2D29080000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !398 + store float 0x3FD04155E0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !398 + store float 0x3FD7CB70C0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !398 + store float 0x3FD6F4FF20000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !398 + store float 0x3FEA8E8520000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !398 + store float 0x3FE13A8E80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !398 + store float 0x3FD449E000000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !398 + store float 0x3FE1F9C840000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !398 + store float 0x3FCBB61700000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !398 + store float 0x3FE089EA00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !398 + store float 0x3FCDF84880000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !398 + store float 0x3FE1FD8440000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !398 + store float 0x3FBD8897E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !398 + store float 0x3FE2D09EE0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !398 + store float 0x3FEAE98EC0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !398 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !398 + store float 0x3FE76AE780000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !398 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !398 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !398 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !398 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !398 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !398 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !398 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !398 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !398 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300455EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !403 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !403 + store float 0x3FDCCFAEE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !403 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !403 + store float 0x3FEC890F00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !403 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !403 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !403 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !403 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !403 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !403 + store i32 -11984, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !403 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !403 + store i32 -4321, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !403 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !403 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !403 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !403 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !403 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !403 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !403 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !403 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !403 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !403 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !403 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !403 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !403 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 4, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300414EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !406 + store float 0x3FDB1933E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !406 + store float 0x3FE630D040000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !406 + store float 0x3FE09BC480000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !406 + store float 0x3FD20A13A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !406 + store float 0x3FE70EE7C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !406 + store float 0x3FCD7F2F40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !406 + store float 0x3FE3E2BEE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !406 + store float 0x3FEB8396E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !406 + store float 0x3FE0E75880000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !406 + store float 0x3FCBB0C540000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !406 + store float 0x3FD8BF2A60000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !406 + store float 0x3FE0468960000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !406 + store float 0x3FDC85C940000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !406 + store float 0x3FCC112860000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !406 + store float 0x3FE2836F60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !406 + store float 0x3FE9BA7340000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !406 + store float 0x3FEC133940000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !406 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !406 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !406 + store float 0x3FCF5FA2A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !406 + store float 0x3FE40D7D80000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !406 + store float 0x3FBE0EA7E0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !406 + store float 0x3FCC243A40000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !406 + store float 0x3FE057AF00000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !406 + store float 0x3FE2B970A0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !406 + store float 0x3FD3175FE0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !406 + store float 0x3FE6024760000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !406 + store float 0x3FEA095900000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !406 + store float 0x3FEC08A9A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !406 + store float 0x3FC7712DE0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !406 + store float 0x3FE4B18780000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !406 + store float 0x3FE096AB40000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !406 + store float 0x3FE5122280000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !406 + store float 0x3FEB186A20000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !406 + store float 0x3FD5111440000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !406 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !406 + store float 0x3FE9C2F7C0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !406 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !406 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !406 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !406 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !406 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !406 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !406 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp13, ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp1, i64 32, i1 false) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !409 + %call2.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !409 + %call3.i = call spir_func noundef <16 x half> @_Z16__spirv_ocl_fmaxDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #13 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIS4_Lm5EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [5 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300983EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !414 + store float 0x3FC75AC880000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !414 + store float 0x3FE81D6D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !414 + store float 0x3FEA225720000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !414 + store float 0x3FDD7C4CA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !414 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !414 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !414 + store float 0x3FD8E7A200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !414 + store float 0x3FE822C060000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !414 + store float 0x3FDB9FB380000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !414 + store float 0x3FDA472520000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !414 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !414 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !414 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !414 + %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !414 + store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !414 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !414 + store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !414 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !414 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300137EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300137EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE136_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !418 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300136EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE135_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !421 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !424 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !425 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !425 + %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fmodDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300594EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300594EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300048EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300048EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE47_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300782EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300782EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE605_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 + %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 + %conv = fptrunc float %call to half + %splat.splatinsert = insertelement <2 x half> poison, half %conv, i64 0 + %splat.splat = shufflevector <2 x half> %splat.splatinsert, <2 x half> poison, <2 x i32> zeroinitializer + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + store <2 x half> %splat.splat, ptr addrspace(4) %this, align 4, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE38_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !428 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !428 + store float 0x3FC8F9CB60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !428 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !428 + store float 0x3FE3D239E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !428 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !428 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !428 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !428 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !428 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !428 + call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !428 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv15initWorkgroupIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !431 { +entry: + tail call spir_func void @_ZN7__spirv22InitSizesSTWorkgroupIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !433 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300386EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300386EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE361_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !434 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !437 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !437 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !437 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !437 + %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS0i(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !437 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300510EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE421_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !440 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !440 + store float 0x3FE93DCEC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !440 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !440 + store float 0x3FE3DBBE80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !440 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !440 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !440 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !440 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !440 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !440 + store i32 25230, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !440 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !440 + store i32 25029, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !440 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !440 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !440 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !440 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !440 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !440 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !440 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !69, !noalias !440 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !440 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !440 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300653EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300653EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE520_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %agg.result, i64 noundef 0) #13 + %1 = load i64, ptr %PartialRes, align 8 + store i64 %1, ptr addrspace(4) %call, align 4 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300199EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300199EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE198_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300320EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300320EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE319_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300281EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300281EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE280_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp3 = alloca %"class.sycl::_V1::marray.2202", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp3) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp3.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp3) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300923EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE702_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 54594267068628, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !445 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3, i32 noundef %a1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !448 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(4) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !449 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301021EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE756_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !451 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm4EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { +entry: + %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm17EE6_S_refERA17_Kim(ptr addrspace(4) noundef align 4 dereferenceable(68) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [17 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !457 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE4sizeEv() #1 comdat align 2 !srcloc !458 { +entry: + ret i64 4 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm2EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300901EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE680_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 54160453087485, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !459 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300612EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE479_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !462 + store float 0x3FE584BB60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !462 + store float 0x3FD1154360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !462 + store float 0x3FC3AEC440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !462 + store float 0x3FCC955100000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !462 + store float 0x3FE72A9460000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !462 + store float 0x3FD098DBC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !462 + store float 0x3FE72CC880000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !462 + store float 0x3FEBAC7FE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !462 + store float 0x3FE549CD60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !462 + store float 0x3FE7DA8160000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !462 + store float 0x3FE74AA180000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !462 + store float 0x3FE5F2B680000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !462 + store float 0x3FE4F99440000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !462 + store float 0x3FBB8014C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !462 + store float 0x3FDE0CB220000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !462 + store float 0x3FDAE63280000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !462 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !462 + store float 0x3FE73A3E60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !462 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !462 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !462 + call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !462 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300877EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300877EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE656_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm4EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !468 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300754EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300754EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !470 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300926EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300926EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE705_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !472 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm2EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300401EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !474 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !474 + store float 0x3FE2CA6B00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !474 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !474 + store float 0x3FEA6DBFA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !474 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !474 + store float 0x3FDB9A2560000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !474 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !474 + store float 0x3FBF0F67E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !474 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !474 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !474 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !474 + store float 0x3FE8FECF00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !474 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !474 + store float 0x3FEB919380000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !474 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !474 + store float 0x3FE7DD1D20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !474 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !474 + store float 0x3FCCD7E0E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !474 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !474 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !474 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !474 + %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !474 + store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !474 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !474 + store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !474 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !474 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300090EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE89_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 61891432102328, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !477 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(22) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 7) #13 + %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 + %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 8) #13 + %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 + store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 + %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 9) #13 + %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 + store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 + %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 10) #13 + %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 + store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIN4sycl3_V16detail9half_impl4halfEEPU3AS3T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300027EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300027EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE26_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !481 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !482 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !482 + %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_logDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(34) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !486 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !488 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !489 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !489 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_expm1Dv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300758EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300758EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE581_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(20) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !492 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !493 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !494 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !494 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !494 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !494 + %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_minmagDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !498 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300128EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE127_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !499 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !499 + store float 0x3FD1F5AF80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !499 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !499 + store float 0x3FE3F07280000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !499 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !499 + store float 0x3FC39D3D60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !499 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !499 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !499 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !499 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !499 + call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !499 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm3EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300238EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300238EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE237_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300208EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300208EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE207_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm8EE6_S_refERA8_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(16) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !507 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !508 + ret ptr addrspace(1) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(4) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !511 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301049EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301049EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE784_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm17EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300971EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 + store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !512 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !512 + store float 0x3FD55EDE20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !512 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !512 + store float 0x3FCCFBA480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !512 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !512 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !512 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !512 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !512 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !512 + store float 0x3FD8B48420000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !512 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !512 + store float 0x3FEC8F1900000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !512 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !512 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !512 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !512 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !512 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !512 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !512 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !512 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !512 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !512 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !512 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !512 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !512 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300589EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300589EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300261EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300261EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE260_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.1972", align 8 + %a1.addr = alloca i32, align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.1972", align 8 + %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V13vecIiLi2EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !517 + %call.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !517 + store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !517 + %call2.i = call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp1.i) #13, !noalias !517 + %call3.i = call spir_func noundef <2 x half> @_Z17__spirv_ocl_ldexpDv2_DF16_Dv2_i(<2 x half> noundef %call.i, <2 x i32> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !521 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !523 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !524 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !525 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !526 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !529 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !531 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !532 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !533 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIiEPU3AS3T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !534 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPvi(ptr addrspace(4) noundef %Ptr, i32 noundef 4) #15 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300069EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE68_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !535 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300628EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300628EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE495_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !536 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !538 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !539 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !540 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300252EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE251_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !541 + store float 0x3FDE6410A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !541 + store float 0x3FCBCF6EA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !541 + store float 0x3FE681A020000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !541 + store float 0x3FE6712AE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !541 + store float 0x3FEB9E5200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !541 + store float 0x3FDA935F00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !541 + store float 0x3FDE268E20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !541 + store float 0x3FE10A0C60000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !541 + store float 0x3FEA09D1E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !541 + store float 0x3FE53A5A80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !541 + store float 0x3FBDF52FC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !541 + store float 0x3FD103D1E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !541 + store float 0x3FE90F4900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !541 + store float 0x3FE2302940000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !541 + store float 0x3FE9927240000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !541 + store float 0x3FDB76B0E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !541 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !541 + store float 0x3FD12D0B80000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !541 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !541 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !541 + call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !541 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE79_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !544 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !544 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300634EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300634EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE501_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !547 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !548 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !549 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !549 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_rintDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !552 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300162EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE161_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !553 + store float 0x3FE822BC20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !553 + store float 0x3FC422E280000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !553 + store float 0x3FE3CC8DC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !553 + store float 0x3FDDC67580000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !553 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !553 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !553 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !553 + call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !553 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300916EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300916EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE695_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300262EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300262EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE261_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !557 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !558 + %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_tanDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE44_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !561 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300727EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300727EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE570_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(8) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(8) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300847EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE646_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %result = alloca %struct.privatePtrCheck.2212.230, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !565 + store float 0x3FE9237940000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !565 + store float 0x3FEC184F40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !565 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !565 + store float 0x3FDEF0B780000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !565 + store float 0x3FE145AC60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !565 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !565 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !565 + store i32 7549, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !565 + store i32 -19745, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !565 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !565 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !565 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !565 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !565 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !565 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !565 + store i32 %1, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !565 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !565 + store i64 %2, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !565 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp8.i) #14, !noalias !565 + %3 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !565 + store i32 %3, ptr %agg.tmp9.i, align 4, !tbaa !69, !noalias !565 + %4 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !565 + store i64 %4, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !565 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp10.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %5 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %5, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %6 = load i64, ptr %resArg, align 4, !tbaa !69 + store i64 %6, ptr addrspace(4) %call3, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300202EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300202EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE201_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300164EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300164EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE163_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300226EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300226EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE225_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300658EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300658EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE525_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !568 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this) #4 comdat align 2 !srcloc !569 { +entry: + tail call void @llvm.memset.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %this, i8 0, i64 20, i1 false) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !571 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !573 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm5EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300773EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300773EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE596_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300103EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300103EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE102_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300282EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300282EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE281_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !577 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !579 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !580 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !579 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !582 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !584 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !584 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !584 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !584 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !584 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !131 + ret ptr addrspace(1) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EE4sizeEv() #1 comdat align 2 !srcloc !587 { +entry: + ret i64 8 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !486 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !588 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300743EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !589 + store float 0x3FCEA74120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !589 + store float 0x3FC3D6E140000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !589 + store float 0x3FE1389FA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !589 + store float 0x3FE17E4940000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !589 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !589 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !589 + store float 0x3FE2058000000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !589 + store float 0x3FD23106E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !589 + store float 0x3FDA912880000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !589 + store float 0x3FC9308DE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !589 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !589 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !589 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !589 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !589 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !589 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !589 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !589 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !589 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !592 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300676EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE543_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !593 + store float 0x3FE192ECE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !593 + store float 0x3FE34B45E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !593 + store float 0x3FEC745700000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !593 + store float 0x3FE6338C40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !593 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !593 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !593 + store float 0x3FD5BDC520000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !593 + store float 0x3FE7B0AC40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !593 + store float 0x3FE23E6720000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !593 + store float 0x3FD8EFF6A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !593 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !593 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !593 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !593 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !593 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !593 + call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !593 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !596 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !597 + %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_cosDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300743EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300743EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300317EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE316_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp18.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp18.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !600 + store float 0x3FE9C257A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !600 + store float 0x3FD23FF720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !600 + store float 0x3FE3D18700000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !600 + store float 0x3FE5FD87C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !600 + store float 0x3FE47CB800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !600 + store float 0x3FD0105320000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !600 + store float 0x3FD84F4EE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !600 + store float 0x3FD4559DE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !600 + store float 0x3FE0FD45C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !600 + store float 0x3FEC01DE60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !600 + store float 0x3FD18E1980000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !600 + store float 0x3FE1573780000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !600 + store float 0x3FC3813B00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !600 + store float 0x3FD9A108C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !600 + store float 0x3FEBA077C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !600 + store float 0x3FEA74FF40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !600 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !600 + store float 0x3FC68C9260000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !600 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !600 + store half 0xH3A42, ptr %agg.tmp18.i, align 2, !tbaa.struct !119, !noalias !600 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp18.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !600 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp18.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300324EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE323_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !603 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !603 + store float 0x3FE8998C00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !603 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !603 + store float 0x3FD53FBC20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !603 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !603 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !603 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !603 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !603 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !603 + store float 0x3FD73F4060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !603 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !603 + store float 0x3FE5A60B00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !603 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !603 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !603 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !603 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !603 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !603 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !603 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !603 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !603 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !603 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300600EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !607 + store float 0x3FE63F9840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !607 + store float 0x3FD31F7F60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !607 + store float 0x3FDBB45AC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !607 + store float 0x3FE2C7BE00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !607 + store float 0x3FDD513C40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !607 + store float 0x3FEA7C8260000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !607 + store float 0x3FE25A6620000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !607 + store float 0x3FEC850DE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !607 + store float 0x3FE4CC7DC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !607 + store float 0x3FE5CF2960000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !607 + store float 0x3FE2AE75C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !607 + store float 0x3FC9DA77A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !607 + store float 0x3FD629C2A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !607 + store float 0x3FDDFEEC60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !607 + store float 0x3FE0748A60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !607 + store float 0x3FD0E34F40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !607 + store float 0x3FC58476E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !607 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !607 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !607 + store i32 -14425, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !607 + store i32 177, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !607 + store i32 -17485, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !607 + store i32 -11218, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !607 + store i32 14342, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !607 + store i32 29808, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !607 + store i32 -27444, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !607 + store i32 -8679, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !607 + store i32 22197, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !607 + store i32 -6422, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !607 + store i32 2390, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !607 + store i32 -31551, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !607 + store i32 13175, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !607 + store i32 -32640, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !607 + store i32 9011, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !607 + store i32 10328, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !607 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !607 + store i32 -19815, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !607 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !607 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !607 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !607 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !607 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !607 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !607 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %left, ptr addrspace(4) noundef align 4 dereferenceable(4) %right) #1 comdat !srcloc !610 { +entry: + %0 = load i32, ptr addrspace(4) %right, align 4, !tbaa !126 + store i32 %0, ptr addrspace(4) %left, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300120EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE119_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !611 + store float 0x3FE87E7BE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !611 + store float 0x3FD2B1E960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !611 + store float 0x3FE076F820000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !611 + store float 0x3FE4788F00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !611 + store float 0x3FD25C48A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !611 + store float 0x3FE34A36E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !611 + store float 0x3FD515F3C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !611 + store float 0x3FCE597C80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !611 + store float 0x3FE7EDF840000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !611 + store float 0x3FE15C2540000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !611 + store float 0x3FD7300CE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !611 + store float 0x3FE22FE160000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !611 + store float 0x3FBEC755E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !611 + store float 0x3FCA180740000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !611 + store float 0x3FDAA75B80000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !611 + store float 0x3FEC2DEB20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !611 + store float 0x3FE044A560000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !611 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !611 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !611 + store float 0x3FC4A10DC0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !611 + store float 0x3FE6C8F860000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !611 + store float 0x3FE7347880000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !611 + store float 0x3FE708F180000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !611 + store float 0x3FE1C77660000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !611 + store float 0x3FE5028800000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !611 + store float 0x3FD1543C60000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !611 + store float 0x3FE5F41BE0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !611 + store float 0x3FE81813E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !611 + store float 0x3FE6A7B780000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !611 + store float 0x3FD87F4D60000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !611 + store float 0x3FE2548FC0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !611 + store float 0x3FE34D5840000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !611 + store float 0x3FEA42BF60000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !611 + store float 0x3FC7DC51C0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !611 + store float 0x3FE88C77E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !611 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !611 + store float 0x3FE0AD3F80000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !611 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !611 + call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !611 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !611 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300576EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300576EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !367 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !614 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_tanpiDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300168EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300168EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE167_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !617 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !618 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !618 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !618 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !618 + %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_powrDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !621 + ret ptr addrspace(1) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !624 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !626 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !628 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !629 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_floorDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iPiEET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIiEPU3AS1T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr addrspace(1) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300105EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE104_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !632 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !632 + store float 0x3FEA818C40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !632 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !632 + store float 0x3FDD23A060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !632 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !632 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !632 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !632 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !632 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !632 + call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !632 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2064") align 16 %a1) #2 comdat !srcloc !635 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2064", align 16 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %agg.tmp1.sroa.0.0.copyload = load <4 x i32>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !636 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !636 + %call2.i = tail call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp13) #13, !noalias !636 + %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_pownDv4_DF16_Dv4_i(<4 x half> noundef %call.i, <4 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(44) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 7) #13 + %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 + %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 8) #13 + %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 + store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 + %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 9) #13 + %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 + store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 + %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 10) #13 + %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 + store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300347EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE346_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !639 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !639 + store float 0x3FE4B5F1A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !639 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !639 + store float 0x3FDD297720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !639 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !639 + store float 0x3FCDC4EF80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !639 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !639 + store float 0x3FD399DDA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !639 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !639 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !639 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !639 + store float 0x3FE86F33E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !639 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !639 + store float 0x3FCDFBC820000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !639 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !639 + store float 0x3FE53D15C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !639 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !639 + store float 0x3FE1D0EDE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !639 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !639 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !639 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !639 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !639 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !639 + call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !639 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(56) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 7) #13 + %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 + %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 8) #13 + %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 + store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 + %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 9) #13 + %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 + store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 + %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 10) #13 + %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 + store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 + %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 11) #13 + %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 + store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 + %arrayinit.element24 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 13 + %call25 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 12) #13 + %15 = load i32, ptr addrspace(4) %call25, align 4, !tbaa !126 + store i32 %15, ptr addrspace(4) %arrayinit.element24, align 4, !tbaa !126 + %arrayinit.element26 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 14 + %call27 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 13) #13 + %16 = load i32, ptr addrspace(4) %call27, align 4, !tbaa !126 + store i32 %16, ptr addrspace(4) %arrayinit.element26, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300254EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE253_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !642 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_Z23__spirv_NumWorkgroups_xv() #5 comdat !srcloc !645 { +entry: + %0 = load i64, ptr addrspace(1) @__spirv_BuiltInNumWorkgroups, align 32 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp3 = alloca %"class.sycl::_V1::marray.2202", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp3) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp3.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp3) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !646 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300595EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !648 + store float 0x3FEC5D7180000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !648 + store float 0x3FE0C03C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !648 + store float 0x3FD5502020000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !648 + store float 0x3FC6782180000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !648 + store float 0x3FBDF5CC40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !648 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !648 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !648 + store i32 3473, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !648 + store i32 23152, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !648 + store i32 -27587, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !648 + store i32 142, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !648 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !648 + store i32 29887, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !648 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !648 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !648 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !648 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !648 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !648 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !648 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300529EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300529EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE440_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp3 = alloca %"class.sycl::_V1::marray.7", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp3.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !652 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !654 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !654 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !654 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !655 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !656 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_asinhDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !659 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !660 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_sqrtDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !663 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !664 + %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_tgammaDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300695EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300695EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300499EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300499EN4sycl3_V16marrayIiLm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE410_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300863EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp15.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !667 + store float 0x3FDBD455A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !667 + store float 0x3FD07AB180000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !667 + store float 0x3FD53CBB40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !667 + store float 0x3FE6E43EE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !667 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !667 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !667 + store float 0x3FC4E26400000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !667 + store float 0x3FDA4B6920000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !667 + store float 0x3FBD679980000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !667 + store float 0x3FEB8880E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !667 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !667 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !667 + store i32 -26080, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !667 + store i32 -19235, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !667 + store i32 -30604, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !667 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !667 + store i32 -20143, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !667 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !667 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !667 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !667 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !667 + store i64 %0, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !667 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !667 + store i64 %1, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !667 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !667 + store i64 %2, ptr %agg.tmp15.i, align 8, !tbaa !128, !noalias !667 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp15.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !667 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300867EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %ref.tmp13.i = alloca i32, align 4 + %ref.tmp14.i = alloca i32, align 4 + %ref.tmp15.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp18.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp18.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !670 + store float 0x3FD30ACDE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !670 + store float 0x3FD301F340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !670 + store float 0x3FEC8FCDC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !670 + store float 0x3FEA1D3A00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !670 + store float 0x3FE2EA3860000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !670 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !670 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !670 + store float 0x3FDFEC0EA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !670 + store float 0x3FE18A15A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !670 + store float 0x3FD49E3B80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !670 + store float 0x3FE33578A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !670 + store float 0x3FE3D086A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !670 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !670 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !670 + store i32 298, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !670 + store i32 -694, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !670 + store i32 -28223, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !670 + store i32 27348, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !670 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !670 + store i32 10653, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !670 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !670 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !670 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !670 + %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !670 + store i64 %1, ptr %agg.tmp18.i, align 8, !tbaa !128, !noalias !670 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp18.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !670 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp18.i) + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300981EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE728_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.1816.212, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !673 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !673 + store float 0x3FD02A3EA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !673 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !673 + store float 0x3FE2007360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !673 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !673 + store float 0x3FD4B500C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !673 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !673 + store float 0x3FBBB04F00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !673 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !673 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !673 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !673 + store float 0x3FE770C4E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !673 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !673 + store float 0x3FE7E1DCA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !673 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !673 + store float 0x3FE36A8A80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !673 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !673 + store float 0x3FE94C33A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !673 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !673 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !673 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !673 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !673 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !673 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !673 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !673 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !673 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !673 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !673 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !673 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !673 + store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !673 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !673 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.2215", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm14EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(56) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(56) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm17EE6_S_refERA17_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(34) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [17 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !677 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300207EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE206_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !679 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !679 + store float 0x3FEAC5D9A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !679 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !679 + store float 0x3FCE00DB00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !679 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !679 + store float 0x3FE86238A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !679 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !679 + store float 0x3FE8F2EAC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !679 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !679 + store float 0x3FE9B19420000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !679 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !679 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !679 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !679 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !679 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !679 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !679 + call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !679 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300402EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300402EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE764_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !682 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !682 + store float 0x3FE432BCE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !682 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !682 + store float 0x3FCE54B8A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !682 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !682 + store float 0x3FCB447840000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !682 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !682 + store float 0x3FE93F8C80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !682 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !682 + store float 0x3FD1DA0EA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !682 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !682 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !682 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !682 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !682 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !682 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !682 + call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !682 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.2018") align 16 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_iNS0_3vecIiLi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t.ascast) #13 + ret <3 x i32> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !685 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !686 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !686 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !686 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !686 + %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fdimDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2156") align 64 %a1) #2 comdat !srcloc !635 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2156", align 64 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x i32>, ptr %a1, align 64, !tbaa.struct !689 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp13) + store <16 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 64 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !690 + %call2.i = tail call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp13) #13, !noalias !690 + %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_pownDv16_DF16_Dv16_i(<16 x half> noundef %call.i, <16 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !694 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !696 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm2EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm3EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { +entry: + %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300259EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300259EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE258_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !699 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm9EE6_S_refERA9_Kim(ptr addrspace(4) noundef align 4 dereferenceable(36) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [9 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300041EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE40_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300306EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE305_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !702 + store float 0x3FDFD52E80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !702 + store float 0x3FD12AB4A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !702 + store float 0x3FDA5A1060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !702 + store float 0x3FE04CFA20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !702 + store float 0x3FD885AD00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !702 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !702 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !702 + store float 0x3FDB394480000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !702 + store float 0x3FE5E90740000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !702 + store float 0x3FC13C9920000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !702 + store float 0x3FEBB054E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !702 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !702 + store float 0x3FE2A908A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !702 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !702 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !702 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !702 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300892EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300892EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE671_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300293EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE292_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !705 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !705 + store float 0x3FE03B7F20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !705 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !705 + store float 0x3FE0EC0AC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !705 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !705 + store float 0x3FC473D2C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !705 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !705 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !705 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !705 + store float 0x3FC0FCEA00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !705 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !705 + store float 0x3FBCA2D8E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !705 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !705 + store float 0x3FE70DCB80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !705 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !705 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_2.i) #13, !noalias !705 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !705 + store float 0x3FCAFB5F20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !705 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !705 + store float 0x3FC961AC20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !705 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !705 + store float 0x3FDA1D7EC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !705 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !705 + call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_2.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_2.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !705 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !705 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300125EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300125EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE124_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300288EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE287_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i64 60637253810097, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !708 + store i64 53365924378481, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !708 + store i64 60993820375416, ptr %agg.tmp3.i, align 8, !tbaa !69, !noalias !708 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300660EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE527_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !711 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !711 + store <4 x half> , ptr %agg.tmp3.i, align 8, !tbaa.struct !199, !noalias !711 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !714 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm10EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(40) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(40) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300935EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1520.196, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 + store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300935EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300277EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300277EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE276_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !716 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !717 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !717 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_atanDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2018", align 16 + %a1.addr = alloca i32, align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.2018", align 16 + %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V13vecIiLi3EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp13, ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp1, i64 16, i1 false) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !720 + %call.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !720 + %call2.i = call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp13) #13, !noalias !720 + %call7.i = call spir_func noundef <3 x half> @_Z17__spirv_ocl_ldexpDv3_DF16_Dv3_i(<3 x half> noundef %call.i, <3 x i32> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16detail9half_impl4halfEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IDv3_DF16_vEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, <3 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { +entry: + %extractVec = shufflevector <3 x half> %openclVector, <3 x half> poison, <4 x i32> + store <4 x half> %extractVec, ptr addrspace(4) %this, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300130EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300130EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE129_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300340EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE339_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !724 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !724 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !729 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301028EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE763_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(12) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !730 + ret ptr %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !573 + ret ptr addrspace(1) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300388EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 + store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !732 + store float 0x3FEA79D020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !732 + store float 0x3FDE4E7D40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !732 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !732 + store float 0x3FD5B285A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !732 + store float 0x3FDC57C280000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !732 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !732 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !732 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !732 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !732 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !732 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !732 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !732 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !732 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300328EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300328EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE327_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300087EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300087EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE86_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300217EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE216_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !735 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !735 + store float 0x3FD2012680000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !735 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !735 + store float 0x3FE8AAF680000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !735 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !735 + store float 0x3FD6593BC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !735 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !735 + store float 0x3FD1E67D20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !735 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !735 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !735 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !735 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !735 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !735 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !735 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !735 + call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !735 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(6) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !738 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !740 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300395EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !742 + store float 0x3FCB2BC560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !742 + store float 0x3FE8B2FEE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !742 + store float 0x3FC6958B40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !742 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !742 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !742 + store float 0x3FEA576D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !742 + store float 0x3FEB467C60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !742 + store float 0x3FCA2348E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !742 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !742 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !742 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !742 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !742 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !742 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !742 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !742 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !742 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300578EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300578EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE461_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !746 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm13EE6_S_refERA13_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(26) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300606EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE473_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !747 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300205EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300205EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE204_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm5EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !751 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !752 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !752 + %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_lgammaDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300314EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300314EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE313_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300865EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE652_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %ref.tmp13.i = alloca i32, align 4 + %ref.tmp14.i = alloca i32, align 4 + %ref.tmp15.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp17.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2354.236, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp17.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !755 + store float 0x3FE3984180000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !755 + store float 0x3FE1B31CA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !755 + store float 0x3FE8B2CDA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !755 + store float 0x3FDDC9BE80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !755 + store float 0x3FEB320400000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !755 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !755 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !755 + store float 0x3FD3B76B80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !755 + store float 0x3FC6DBB600000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !755 + store float 0x3FEB582CA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !755 + store float 0x3FD8640960000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !755 + store float 0x3FE07DA6A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !755 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !755 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !755 + store i32 5408, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !755 + store i32 16369, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !755 + store i32 -19023, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !755 + store i32 -28565, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !755 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !755 + store i32 -21070, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !755 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !755 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !755 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !755 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !755 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !755 + store i64 %0, ptr %agg.tmp17.i, align 8, !tbaa !128, !noalias !755 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp17.i) #14, !noalias !755 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !755 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp17.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm9EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(18) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(18) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300994EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !759 + store float 0x3FE7FA7E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !759 + store float 0x3FD246C120000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !759 + store float 0x3FDFA49CA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !759 + store float 0x3FDB139F00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !759 + store float 0x3FDF8F6BE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !759 + store float 0x3FB9D40FA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !759 + store float 0x3FE2C499C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !759 + store float 0x3FCE6E5620000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !759 + store float 0x3FE0A2C240000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !759 + store float 0x3FE87F3480000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !759 + store float 0x3FD95F55C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !759 + store float 0x3FE91595A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !759 + store float 0x3FD7853A60000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !759 + store float 0x3FD01AA620000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !759 + store float 0x3FE9831DE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !759 + store float 0x3FD5FF2C20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !759 + store float 0x3FC0BFD080000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !759 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !759 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !759 + store float 0x3FE7332AA0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !759 + store float 0x3FE3D4D360000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !759 + store float 0x3FE849F320000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !759 + store float 0x3FE2A911A0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !759 + store float 0x3FC574BCE0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !759 + store float 0x3FDF151780000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !759 + store float 0x3FCDCD1CE0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !759 + store float 0x3FC3CFA000000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !759 + store float 0x3FDA0B41E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !759 + store float 0x3FDEC7C140000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !759 + store float 0x3FE229C540000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !759 + store float 0x3FDA222A20000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !759 + store float 0x3FE98E5E60000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !759 + store float 0x3FEB1AD4A0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !759 + store float 0x3FE856E440000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !759 + store float 0x3FE9B7A220000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !759 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !759 + store float 0x3FE4F89340000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !759 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !759 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !759 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !759 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !759 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !759 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !759 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm5EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(20) %left, ptr addrspace(4) noundef align 4 dereferenceable(20) %right) #1 comdat !srcloc !145 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm5EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !762 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300111EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE110_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !763 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !763 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !577 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300747EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1862.215, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300747EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE748_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !767 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300011EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300011EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE10_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300852EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300852EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300235EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300235EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE234_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300206EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE205_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !770 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !770 + store float 0x3FE193FF40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !770 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !770 + store float 0x3FE8609CA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !770 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !770 + store float 0x3FC4C7C5C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !770 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !770 + store float 0x3FE91F7E60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !770 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !770 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !770 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !770 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !770 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !770 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !770 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !770 + call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !770 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !774 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !775 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !775 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_acosDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300727EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE570_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %result = alloca %struct.privatePtrCheck.1740.208, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !778 + store float 0x3FE500D960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !778 + store float 0x3FD1FEB7E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !778 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !778 + store float 0x3FEC942FA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !778 + store float 0x3FBE5D9360000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !778 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !778 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !778 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !778 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !778 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !778 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !778 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !778 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !778 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !778 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !778 + %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !778 + store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !778 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !778 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i32, ptr %resArg, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300896EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300896EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE675_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300006EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE5_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !782 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300257EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300257EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE256_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !783 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !784 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !784 + %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_expDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE73_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !787 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !787 + store float 0x3FC19DBD60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !787 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !787 + store float 0x3FDE827060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !787 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !787 + store float 0x3FCC4CD0A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !787 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !787 + store float 0x3FC01FDCE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !787 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !787 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !787 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !787 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !787 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !787 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !787 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !787 + call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !787 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp6 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + %2 = load i64, ptr %a2, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + store i64 %2, ptr %agg.tmp6, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp6, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !791 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !793 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300163EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE162_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !794 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !794 + store float 0x3FD29F5E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !794 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !794 + store float 0x3FDDE248E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !794 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !794 + store float 0x3FCD1F1B00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !794 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !794 + store float 0x3FD77BD360000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !794 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !794 + store float 0x3FE3F92AA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !794 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !794 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !794 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !794 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !794 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !794 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !794 + call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !794 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300695EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !797 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !797 + store half 0xH3B08, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !797 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !797 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !797 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !797 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300573EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE460_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %result = alloca %struct.privatePtrCheck.2212.230, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !800 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !800 + store float 0x3FE3217060000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !800 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !800 + store float 0x3FD8024320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !800 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !800 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !800 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !800 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !800 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !800 + store i32 18551, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !800 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !800 + store i32 12399, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !800 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !800 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !800 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !800 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !800 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !800 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !800 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !800 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !800 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !800 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !800 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !800 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !800 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !800 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !800 + store i64 %3, ptr %agg.tmp7.i, align 8, !tbaa !69, !noalias !800 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !800 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !800 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !800 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !800 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 4, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !804 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300418EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !805 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !813 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !813 + store half 0xH3B1F, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !813 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !813 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !813 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !813 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300134EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE133_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 58008802245165, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !816 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300779EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE602_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.1972", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !819 + store <2 x i32> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !819 + call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300891EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300891EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE670_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300746EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !822 + store float 0x3FE31B9C80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !822 + store float 0x3FE79DAB00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !822 + store float 0x3FE4270C00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !822 + store float 0x3FE6BDE720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !822 + store float 0x3FDF507C00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !822 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !822 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !822 + store float 0x3FBF56A740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !822 + store float 0x3FD75CB660000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !822 + store float 0x3FE33FE2E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !822 + store float 0x3FDF0377C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !822 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !822 + store float 0x3FEAB9FEE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !822 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !822 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !822 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !822 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !822 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !822 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !822 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(4) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !825 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300591EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE466_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2354.236, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !826 + store float 0x3FDEA13720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !826 + store float 0x3FE17C7CC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !826 + store float 0x3FEAF73D00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !826 + store float 0x3FECA31E40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !826 + store float 0x3FE2CF0F20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !826 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !826 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !826 + store i32 -28428, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !826 + store i32 -5217, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !826 + store i32 -11219, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !826 + store i32 -24188, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !826 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !826 + store i32 8434, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !826 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !826 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !826 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !826 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !826 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !826 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !826 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !826 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !826 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300467EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2317, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300467EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <3 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_iNS0_3vecIiLi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t) #1 comdat !srcloc !142 { +entry: + %call = tail call spir_func noundef <3 x i32> @_ZNK4sycl3_V13vecIiLi3EEcvDv3_iEv(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %t) #13 + ret <3 x i32> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE815_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !829 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300485EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE396_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !832 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !832 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300483EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE394_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !835 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !835 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !839 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300404EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300404EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE367_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300749EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !840 + store float 0x3FEB938A40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !840 + store float 0x3FD75C5080000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !840 + store float 0x3FD4C837E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !840 + store float 0x3FEA9A1380000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !840 + store float 0x3FE23FE340000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !840 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !840 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !840 + store float 0x3FC3B07480000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !840 + store float 0x3FD66770E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !840 + store float 0x3FD9D39320000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !840 + store float 0x3FDE3ADAA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !840 + store float 0x3FE2E37840000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !840 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !840 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !840 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !840 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !840 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !840 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !840 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301000EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301000EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE735_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !843 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !844 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !844 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_truncDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300075EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300075EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE74_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !848 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !848 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !848 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !848 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS1i(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !848 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !851 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !852 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300390EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300390EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !854 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !856 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !856 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !856 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300862EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2317, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300862EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !857 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !859 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13 + %call1.i = tail call spir_func noundef i32 @_Z17__spirv_ocl_ilogbDF16_(half noundef %call.i) #15 + %call2.i = tail call spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret i32 %call2.i +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !860 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !861 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !861 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_tanhDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !865 + %call.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !865 + store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !865 + %call2.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !865 + %call3.i = call spir_func noundef <4 x half> @_Z16__spirv_ocl_fminDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !868 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !869 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !869 + %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_cosDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !872 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300129EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300129EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE128_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !875 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300588EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300588EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300217EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300217EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE216_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300909EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE688_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !876 + store float 0x3FDF07A280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !876 + store float 0x3FC4D9B840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !876 + store float 0x3FEA742480000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !876 + store float 0x3FE7A7AE60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !876 + store float 0x3FE32BBBC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !876 + store float 0x3FC208E740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !876 + store float 0x3FDF761200000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !876 + store float 0x3FCE4BF760000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !876 + store float 0x3FEB923BC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !876 + store float 0x3FD30E3380000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !876 + store float 0x3FECCB2840000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !876 + store float 0x3FEAD5F720000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !876 + store float 0x3FE7FB2EC0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !876 + store float 0x3FC19F4FC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !876 + store float 0x3FE77951E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !876 + store float 0x3FE4141AE0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !876 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !876 + store float 0x3FEAF23840000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !876 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !876 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !876 + call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !876 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300736EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300736EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301069EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE804_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300762EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE585_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !879 + store float 0x3FE548C840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !879 + store float 0x3FE1827BC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !879 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !879 + store float 0x3FC14CA9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !879 + store float 0x3FDBAEC980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !879 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !879 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !879 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !879 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !879 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !879 + call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !882 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + %2 = load i64, ptr %a2, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !884 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !884 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !884 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !884 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !884 + %call4.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #13, !noalias !884 + %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS3i(half noundef %call.i, half noundef %call2.i, ptr addrspace(3) noundef %call4.i) #14, !noalias !884 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300627EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300627EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE494_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300251EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300251EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE250_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !887 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !889 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !889 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !889 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !891 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300205EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE204_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !893 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !893 + store float 0x3FDF4F7720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !893 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !893 + store float 0x3FE70F0420000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !893 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !893 + store float 0x3FEAD26A40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !893 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !893 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !893 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !893 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !893 + call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !893 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300319EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE318_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !896 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !896 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300758EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE581_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 62643081067161, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !899 + store i64 62149128172096, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !899 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a2) #2 comdat !srcloc !902 { +entry: + %agg.tmp25 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp14 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp3 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + %agg.tmp2.sroa.0.0.copyload = load <16 x half>, ptr %a2, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp14) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp25) + store <16 x half> %agg.tmp2.sroa.0.0.copyload, ptr %agg.tmp25, align 32 + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp14, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp3, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp3) #13, !noalias !903 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp14) #13, !noalias !903 + %call4.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp25) #13, !noalias !903 + %call5.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_madDv16_DF16_S_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i, <16 x half> noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp14) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp25) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300985EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300985EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !906 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300730EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !908 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !908 + store float 0x3FD88810C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !908 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !908 + store float 0x3FE9990380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !908 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !908 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !908 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !908 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !908 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !908 + store float 0x3FE9633D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !908 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !908 + store float 0x3FEB890400000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !908 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !908 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !908 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !908 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !908 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !908 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !908 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !908 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !908 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !908 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !908 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !908 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !908 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300147EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300147EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE146_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !911 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !912 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !912 + %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_lgammaDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !915 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !917 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300782EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE605_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2110", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !918 + store <8 x i32> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !918 + call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300215EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE214_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !921 + store float 0x3FE1863D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !921 + store float 0x3FE997AB80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !921 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !921 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !921 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !921 + call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !925 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !927 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !928 + %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_asinpiDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300896EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE675_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !931 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !931 + store float 0x3FE7D86B00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !931 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !931 + store float 0x3FEBC10BE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !931 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !931 + store float 0x3FC83A6240000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !931 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !931 + store float 0x3FEC5F13E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !931 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !931 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !931 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !931 + store i32 32254, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !931 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !931 + store i32 -10707, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !931 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !931 + store i32 22392, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !931 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !931 + store i32 -20650, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !931 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !931 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !931 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !931 + call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !931 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300772EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE595_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !934 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !934 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300198EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300198EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE197_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !938 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300066EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300066EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE65_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp19 = alloca %"struct.std::array.145.19", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp19.ascast = addrspacecast ptr %ref.tmp19 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %ref.tmp19) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.145.19") align 2 %ref.tmp19.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm10EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(20) %ref.tmp19.ascast) #13 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %ref.tmp19) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300690EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300690EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE557_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300890EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE669_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2018", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store i64 63785519495198, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !940 + call void @llvm.memcpy.p0.p1.i64(ptr align 16 %agg.tmp2.i, ptr addrspace(1) align 16 @__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE669_clEv.inputData_1, i64 16, i1 false), !noalias !940 + call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !943 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300745EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300745EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE576_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300292EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300292EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE291_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300048EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE47_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !945 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300333EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE332_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !948 + store half 0xH3699, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !948 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm16EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(32) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(32) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300052EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE51_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !303 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301035EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE770_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300294EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE293_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !951 + store float 0x3FEC3AACA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !951 + store float 0x3FE9E13180000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !951 + store float 0x3FD670BE00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !951 + store float 0x3FE82FD4C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !951 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !951 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !951 + store float 0x3FC5831020000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !951 + store float 0x3FDA78F380000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !951 + store float 0x3FE2071540000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !951 + store float 0x3FEC72AB00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !951 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !951 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !951 + store float 0x3FC1C99FA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !951 + store float 0x3FDB8415C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !951 + store float 0x3FEABDF580000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !951 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !951 + store float 0x3FBF4131E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !951 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !951 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !951 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !951 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !951 + store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !951 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !69, !noalias !951 + store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !951 + call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !951 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301015EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301015EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE750_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300573EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300573EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE460_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <8 x i32> @_ZNK4sycl3_V13vecIiLi8EEcvDv8_iEv(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !954 { +entry: + %0 = load <8 x i32>, ptr addrspace(4) %this, align 32, !tbaa !69 + ret <8 x i32> %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300018EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE17_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !955 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !955 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !955 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !955 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !955 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE39_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !958 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !958 + store float 0x3FE990C720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !958 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !958 + store float 0x3FD4BC30A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !958 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !958 + store float 0x3FEC3FFF40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !958 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !958 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !958 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !958 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !958 + call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !958 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !962 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !963 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp21 = alloca %"struct.std::array.143.18", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp21.ascast = addrspacecast ptr %ref.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %ref.tmp21) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.143.18") align 2 %ref.tmp21.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm11EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(22) %ref.tmp21.ascast) #13 + call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %ref.tmp21) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !624 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300182EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE181_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !964 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !964 + store float 0x3FD31871C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !964 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !964 + store float 0x3FCAE9F3E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !964 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !964 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !964 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !964 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !964 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !964 + call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !964 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !967 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !968 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !968 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fabsDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <2 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 4 dereferenceable(4) %t) #1 comdat !srcloc !971 { +entry: + %call = tail call spir_func noundef <2 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEcvDv2_DF16_Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %t) #13 + ret <2 x half> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300347EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300347EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE346_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300514EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE425_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !972 + store float 0x3FE5A576E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !972 + store float 0x3FDE4D2EE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !972 + store float 0x3FEC2336A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !972 + store float 0x3FD63F7040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !972 + store float 0x3FE3FBD640000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !972 + store float 0x3FEB9BE3E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !972 + store float 0x3FDE9F73E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !972 + store float 0x3FE317EC80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !972 + store float 0x3FC9D3B660000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !972 + store float 0x3FE103CCE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !972 + store float 0x3FEC499A60000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !972 + store float 0x3FC1DD6660000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !972 + store float 0x3FE1B4C180000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !972 + store float 0x3FEBCC9600000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !972 + store float 0x3FEBE31C20000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !972 + store float 0x3FD2020720000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !972 + store float 0x3FC0581880000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !972 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !972 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !972 + store i32 -18386, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !972 + store i32 17836, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !972 + store i32 11390, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !972 + store i32 21792, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !972 + store i32 12523, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !972 + store i32 -14082, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !972 + store i32 17535, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !972 + store i32 27126, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !972 + store i32 -15879, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !972 + store i32 21594, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !972 + store i32 -12044, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !972 + store i32 -2486, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !972 + store i32 -27786, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !972 + store i32 16208, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !972 + store i32 27690, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !972 + store i32 26732, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !972 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !972 + store i32 -17874, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !972 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !972 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !972 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !972 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !976 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300902EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300902EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE681_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300133EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300133EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE132_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300070EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE69_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !977 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %X.ascast = addrspacecast ptr %X to ptr addrspace(4) + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %X.ascast, i64 noundef %Start) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %add = add i64 %Start, 1 + %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %X.ascast, i64 noundef %add) #13 + %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300169EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300169EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE168_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300312EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE311_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !980 + store half 0xH3511, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !980 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !983 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !984 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !984 + %call3.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_atan2Dv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp15 = alloca %"struct.std::array.149.21", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp15.ascast = addrspacecast ptr %ref.tmp15 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp15) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.149.21") align 2 %ref.tmp15.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm8EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(16) %ref.tmp15.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp15) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300502EN4sycl3_V16marrayIiLm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE413_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.2344", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !987 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !987 + store float 0x3FEAD6EAC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !987 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !987 + store float 0x3FE59A9360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !987 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !987 + store float 0x3FE123E2A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !987 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !987 + store float 0x3FE9643D00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !987 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !987 + store float 0x3FEAC49DC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !987 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !987 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !987 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !987 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !987 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !987 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !987 + call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !987 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm5EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 4 dereferenceable(20) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(10) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !990 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !992 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300397EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !993 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !993 + store float 0x3FE7BD5760000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !993 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !993 + store float 0x3FEAE90720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !993 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !993 + store float 0x3FE2488640000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !993 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !993 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !993 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !993 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !993 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !993 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !993 + store float 0x3FD7345260000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !993 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !993 + store float 0x3FDF1053A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !993 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !993 + store float 0x3FDFA6BEC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !993 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !993 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !993 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !993 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !993 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !993 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !993 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !993 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !993 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !993 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !993 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !993 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm5EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv22initGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !996 { +entry: + tail call spir_func void @_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !997 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !998 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !998 + %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_atanpiDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1001 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300887EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE666_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1003 + store float 0x3FE07BAEE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1003 + store float 0x3FE5355AC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1003 + store float 0x3FE2FE97A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1003 + store float 0x3FC03669E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1003 + store float 0x3FE3C9FA80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1003 + store float 0x3FCDCF4800000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1003 + store float 0x3FE7381C20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1003 + store float 0x3FDB765BA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1003 + store float 0x3FE4E61860000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1003 + store float 0x3FC34FE520000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1003 + store float 0x3FD209B480000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1003 + store float 0x3FE4524100000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1003 + store float 0x3FE5649400000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1003 + store float 0x3FCF6F2F20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1003 + store float 0x3FE48BE360000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1003 + store float 0x3FC0F0C8C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1003 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1003 + store float 0x3FEC8ECD40000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1003 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1003 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1003 + call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1003 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1006 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300457EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1008 + store float 0x3FCC5270A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1008 + store float 0x3FC428F180000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1008 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1008 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1008 + store i32 -26484, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !1008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1008 + store i32 -25405, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !1008 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1008 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1008 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1008 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1008 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1008 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1008 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !1008 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1008 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1008 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1011 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300776EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE599_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1012 + store float 0x3FE39E41A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1012 + store float 0x3FE1335200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1012 + store float 0x3FE5D479A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1012 + store float 0x3FDD708DC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1012 + store float 0x3FE6F8DBA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1012 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1012 + store float 0x3FD8832DC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1012 + store float 0x3FCEB168A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1012 + store float 0x3FC08C12A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1012 + store float 0x3FD2450840000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1012 + store float 0x3FE6A193A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1012 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1012 + call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1012 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1012 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300618EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE485_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1015 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300089EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE88_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1018 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300539EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1945, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !1021 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300539EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300858EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1024 + store float 0x3FE1DDBEA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1024 + store float 0x3FE5086740000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1024 + store float 0x3FE0D19260000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1024 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1024 + store float 0x3FE6429580000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1024 + store float 0x3FC64AFA80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1024 + store float 0x3FCABC68E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1024 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1024 + store i32 382, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1024 + store i32 29119, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1024 + store i32 2982, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !1024 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1024 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1024 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1024 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1024 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !1024 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1024 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1027 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.16.3", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300267EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE266_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1029 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !1029 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1032 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !1034 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !1035 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !1034 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1036 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1037 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1037 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_erfcDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300304EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300304EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE303_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm7EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(14) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(14) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300868EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2364, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300868EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !685 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1040 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1040 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1040 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !1040 + %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fdimDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301083EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE818_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300626EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE493_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 63660988709641, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1043 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300183EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300183EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE182_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !677 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300934EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1046 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1046 + store half 0xH3B1F, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1046 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1046 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1046 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1046 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300486EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300486EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE397_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1049 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1051 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1052 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1052 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_log1pDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_Z22__spirv_GlobalOffset_xv() #5 comdat !srcloc !1055 { +entry: + %0 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalOffset, align 32 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300848EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE647_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %result = alloca %struct.privatePtrCheck.2212.230, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1056 + store float 0x3FD3440F60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1056 + store float 0x3FE439EAC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1056 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1056 + store float 0x3FEA8144A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1056 + store float 0x3FE0E14940000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1056 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1056 + store i32 -24648, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1056 + store i32 -26463, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1056 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1056 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !1056 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1056 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1056 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1056 + store i32 %1, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !1056 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1056 + store i64 %2, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1056 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp8.i) #14, !noalias !1056 + %3 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !1056 + store i32 %3, ptr %agg.tmp9.i, align 4, !tbaa !69, !noalias !1056 + %4 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !1056 + store i64 %4, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !1056 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp10.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %5 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %5, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %6 = load i64, ptr %resArg, align 4, !tbaa !69 + store i64 %6, ptr addrspace(4) %call3, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1059 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1061 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1061 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1061 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(14) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300102EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300102EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE101_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1064 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 + store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300471EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300471EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE390_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE771_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1065 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1068 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300286EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300286EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE285_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300984EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300984EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300990EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300990EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300075EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE74_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1069 + store float 0x3FE3016540000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1069 + store float 0x3FE353BF40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1069 + store float 0x3FC794FD00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1069 + store float 0x3FE1421180000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1069 + store float 0x3FD8263F20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1069 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1069 + call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1069 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300987EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE730_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1854.214, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1072 + store float 0x3FE666FA80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1072 + store float 0x3FD336EAC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1072 + store float 0x3FE481CF40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1072 + store float 0x3FE5B7B3E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1072 + store float 0x3FE6CA2AC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1072 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1072 + store float 0x3FEAC856A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1072 + store float 0x3FCF6D1020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1072 + store float 0x3FD7D89120000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1072 + store float 0x3FD01D7820000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1072 + store float 0x3FDE024900000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1072 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1072 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1072 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !1072 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1072 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !1072 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !1072 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1072 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300608EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE475_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1075 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1075 + store float 0x3FC7D51E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1075 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1075 + store float 0x3FDFA6C780000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1075 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1075 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1075 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1075 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1075 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1075 + call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1075 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300501EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300501EN4sycl3_V16marrayIiLm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE412_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300808EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE631_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1078 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1078 + store float 0x3FBAAC46C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1078 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1078 + store float 0x3FE61EA7C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1078 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1078 + store float 0x3FE01C3120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1078 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1078 + store float 0x3FE320EB80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1078 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1078 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1078 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1078 + store float 0x3FBB9EE9E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1078 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1078 + store float 0x3FBB74AD60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1078 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1078 + store float 0x3FD511A080000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1078 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1078 + store float 0x3FE8B954A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1078 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1078 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1078 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1078 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1078 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1078 + call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1078 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm8EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(16) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(16) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(68) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1081 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1083 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !911 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1084 + %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_lgammaDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1087 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds i32, ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm4EE6_S_refERA4_Kim(ptr addrspace(4) noundef align 4 dereferenceable(16) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [4 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1089 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a2) #2 comdat !srcloc !902 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + %2 = load i64, ptr %a2, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1091 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1091 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1091 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1091 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !69, !noalias !1091 + %call4.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp3.i) #13, !noalias !1091 + %call5.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_madDv4_DF16_S_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i, <4 x half> noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #1 comdat !srcloc !1094 { +entry: + ret ptr addrspace(4) null +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1095 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1096 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1096 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_erfcDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300475EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300475EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1099 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !1100 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !1100 + %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fmaxDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301045EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE780_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !573 + ret ptr addrspace(1) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !383 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1104 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300613EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE480_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH39B6, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1105 + call spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300933EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300933EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE712_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !943 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1110 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300611EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE478_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1111 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1111 + store float 0x3FDC9E7E60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1111 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1111 + store float 0x3FE799C600000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1111 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1111 + store float 0x3FE3856120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1111 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1111 + store float 0x3FD0DF61C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1111 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1111 + store float 0x3FE1889C20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1111 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1111 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1111 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1111 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1111 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1111 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1111 + call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1111 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300302EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE301_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1114 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1114 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1117 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300053EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300053EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE52_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300187EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300187EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE186_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm4EE6_S_refERA4_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(8) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [4 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300633EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300633EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE500_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300777EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE600_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1118 + store float 0x3FE9405500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1118 + store float 0x3FE57DECA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1118 + store float 0x3FD7A30580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1118 + store float 0x3FE9083AA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1118 + store float 0x3FDDB91380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1118 + store float 0x3FEBDBDA80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1118 + store float 0x3FE6F812C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1118 + store float 0x3FC609DD40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1118 + store float 0x3FD0430B60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1118 + store float 0x3FEBDA70A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1118 + store float 0x3FCE7732C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1118 + store float 0x3FC415EBC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1118 + store float 0x3FDA74E320000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1118 + store float 0x3FE5E406A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1118 + store float 0x3FE01685C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1118 + store float 0x3FC5475740000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1118 + store float 0x3FE76EE3E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1118 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1118 + store float 0x3FE463B680000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1118 + store float 0x3FE219BF60000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1118 + store float 0x3FCD940360000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1118 + store float 0x3FBCCBE0E0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1118 + store float 0x3FE8B44D80000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1118 + store float 0x3FCFDFADE0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1118 + store float 0x3FCFF589A0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1118 + store float 0x3FE1DF8CC0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1118 + store float 0x3FE2C4C1C0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1118 + store float 0x3FC0F78540000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1118 + store float 0x3FCF2D43E0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1118 + store float 0x3FEA7DBA40000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1118 + store float 0x3FDB83A540000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1118 + store float 0x3FE97E12E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1118 + store float 0x3FE4E13DA0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1118 + store float 0x3FE6C81660000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !1118 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1118 + store float 0x3FCEDB98A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !1118 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1118 + call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1118 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1118 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1121 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300870EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %ref.tmp13.i = alloca i32, align 4 + %ref.tmp14.i = alloca i32, align 4 + %ref.tmp15.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp18.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp18.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1122 + store float 0x3FE6502C60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1122 + store float 0x3FE560D740000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1122 + store float 0x3FCBA5BE40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1122 + store float 0x3FE3C90D00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1122 + store float 0x3FD9F800A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1122 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1122 + store float 0x3FC078A120000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1122 + store float 0x3FC8CE2060000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1122 + store float 0x3FE1C34940000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1122 + store float 0x3FE28DEB20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1122 + store float 0x3FEBA19E00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1122 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1122 + store i32 -24915, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1122 + store i32 -10388, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1122 + store i32 4252, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1122 + store i32 -10527, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1122 + store i32 -8009, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !1122 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1122 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1122 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1122 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1122 + store i64 %0, ptr %agg.tmp18.i, align 8, !tbaa !128, !noalias !1122 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp18.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1122 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp18.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300299EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE298_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 59937076689350, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1125 + store i64 61659456158478, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !1125 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1130 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1132 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE763_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1133 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1133 + store float 0x3FDE401860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1133 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1133 + store float 0x3FC0D18C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1133 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1133 + store float 0x3FE3C157E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1133 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1133 + store float 0x3FE563CAC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1133 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1133 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1133 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1133 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1133 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1133 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1133 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1133 + call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1133 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300149EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE148_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1136 + store float 0x3FE0BEAD20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1136 + store float 0x3FEB4C7AE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1136 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1136 + store float 0x3FE49D56A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1136 + store float 0x3FE359EB20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1136 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1136 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1136 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1136 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1136 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1136 + call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301079EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE814_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE752_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1139 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1139 + store float 0x3FE788C180000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1139 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1139 + store float 0x3FD09E7680000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1139 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1139 + store float 0x3FD8BC9860000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1139 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1139 + store float 0x3FD96C9920000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1139 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1139 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1139 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1139 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1139 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1139 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1139 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1139 + call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1139 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <2 x i32> @_ZNK4sycl3_V13vecIiLi2EEcvDv2_iEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !954 { +entry: + %0 = load <2 x i32>, ptr addrspace(4) %this, align 8, !tbaa !69 + ret <2 x i32> %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300461EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1143 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1143 + store float 0x3FC82756C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1143 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1143 + store float 0x3FEBB4EDE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1143 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1143 + store float 0x3FC923BE00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1143 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1143 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1143 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1143 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1143 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1143 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1143 + store i32 -8343, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !1143 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1143 + store i32 -26315, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1143 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1143 + store i32 20772, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1143 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1143 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1143 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1143 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1143 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1143 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1143 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1143 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1143 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1143 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1143 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1143 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300685EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300685EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE552_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300254EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300254EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE253_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE804_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1146 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp7 = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp7.ascast = addrspacecast ptr %ref.tmp7 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp7.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm4EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp7.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300732EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE571_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1778.210, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1149 + store float 0x3FEB10A020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1149 + store float 0x3FD18817C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1149 + store float 0x3FEBC7AA00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1149 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1149 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1149 + store float 0x3FC45D2EC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1149 + store float 0x3FD49B2000000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1149 + store float 0x3FE77AD420000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1149 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1149 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1149 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1149 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !1149 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1149 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !1149 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !1149 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1149 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300197EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300197EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE196_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300241EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE240_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1152 + store float 0x3FD4EA9200000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1152 + store float 0x3FE3EC9FE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1152 + store float 0x3FE28BBC80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1152 + store float 0x3FEAFF11C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1152 + store float 0x3FEC00C7C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1152 + store float 0x3FE092ABC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1152 + store float 0x3FC5C40AA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1152 + store float 0x3FD5C14A40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1152 + store float 0x3FE074AFA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1152 + store float 0x3FE46ED720000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1152 + store float 0x3FEB6C32C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1152 + store float 0x3FCCAED920000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1152 + store float 0x3FC08E77A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1152 + store float 0x3FE97910E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1152 + store float 0x3FE7CFECE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1152 + store float 0x3FE6CD9BA0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1152 + store float 0x3FDE6471A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1152 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1152 + call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1152 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1155 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1156 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !1156 + %call3.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_minmagDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300978EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300978EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1159 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1161 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIS4_Lm3EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1162 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300311EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE310_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1163 + store half 0xH3288, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1163 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a2, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp9, align 2, !tbaa !99 + %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp11, align 2, !tbaa !99 + %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a2.ascast, i64 noundef 2) #13 + %3 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 + store i16 %3, ptr %agg.tmp13, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 + %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %4 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call15, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1167 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300526EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300526EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE437_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301016EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE751_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1168 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1168 + store float 0x3FE894B300000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1168 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1168 + store float 0x3FCF7246E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1168 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1168 + store float 0x3FE1C0C200000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1168 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1168 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1168 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1168 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1168 + call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1168 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv16initGlobalOffsetILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !1171 { +entry: + tail call spir_func void @_ZN7__spirv23InitSizesSTGlobalOffsetILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300047EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE46_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300027EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE26_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1172 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %t) #1 comdat !srcloc !1175 !sycl_used_aspects !63 { +entry: + %t.addr = alloca half, align 2 + %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) + store half %t, ptr %t.addr, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %t.addr.ascast) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1176 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300537EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE448_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.1936.218, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1177 + store i32 27879, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !1177 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1177 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1177 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !1177 + store half 0xH324C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1177 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1177 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !1177 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !1177 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !1177 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !1177 + %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !1177 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, i32 noundef %2) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !1177 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1177 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1177 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 4, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 + %4 = load i32, ptr %resArg, align 4, !tbaa !1180 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1184 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1186 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1186 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1186 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm8EE6_S_refERA8_Kim(ptr addrspace(4) noundef align 4 dereferenceable(32) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [8 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300974EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300974EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE725_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1187 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1188 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1188 + %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_sinDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300538EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1945, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !1191 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300538EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 + %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 + %conv = fptrunc float %call to half + %splat.splatinsert = insertelement <16 x half> poison, half %conv, i64 0 + %splat.splat = shufflevector <16 x half> %splat.splatinsert, <16 x half> poison, <16 x i32> zeroinitializer + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + store <16 x half> %splat.splat, ptr addrspace(4) %this, align 32, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EE4sizeEv() #1 comdat align 2 !srcloc !587 { +entry: + ret i64 4 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300150EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300150EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE149_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301049EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE784_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1194 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1194 + store float 0x3FD8D4A9A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1194 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1194 + store float 0x3FEC39FD00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1194 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1194 + store float 0x3FC43A4800000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1194 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1194 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1194 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1194 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1194 + call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1194 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300330EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300330EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE329_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1197 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1198 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1199 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1199 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1199 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1199 + %call3.i = tail call spir_func noundef <4 x half> @_Z19__spirv_ocl_atan2piDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2018") align 16 %a1) #2 comdat !srcloc !1202 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2018", align 16 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp13, ptr align 16 %a1, i64 16, i1 false) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1203 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1203 + %call2.i = tail call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp13) #13, !noalias !1203 + %call7.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_rootnDv3_DF16_Dv3_i(<3 x half> noundef %call.i, <3 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300239EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300239EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE238_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm7EE6_S_refERA7_Kim(ptr addrspace(4) noundef align 4 dereferenceable(28) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [7 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(10) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1206 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300323EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE322_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1208 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1208 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300158EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE157_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1211 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp27 = alloca %"struct.std::array.137.15", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp27.ascast = addrspacecast ptr %ref.tmp27 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 28, ptr nonnull %ref.tmp27) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.137.15") align 2 %ref.tmp27.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm14EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(28) %ref.tmp27.ascast) #13 + call void @llvm.lifetime.end.p0(i64 28, ptr nonnull %ref.tmp27) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300680EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300680EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE547_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1214 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300581EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2270, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300581EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %this) #1 comdat align 2 !srcloc !1215 !sycl_used_aspects !63 { +entry: + %0 = load half, ptr addrspace(4) %this, align 2, !tbaa !1216 + %conv = fpext half %0 to float + ret float %conv +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1217 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1218 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1219 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1219 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_acoshDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE808_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1222 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1222 + store float 0x3FCD6836A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1222 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1222 + store float 0x3FDFB8F0A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1222 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1222 + store float 0x3FEA7FA1A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1222 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1222 + store float 0x3FEB09D080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1222 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1222 + store float 0x3FCC2C0F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1222 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1222 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1222 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1222 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1222 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1222 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1222 + call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1222 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1225 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1226 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1226 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_exp2Dv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::nd_item") align 8 %agg.result, ptr addrspace(4) noundef %0) #1 comdat align 2 !srcloc !1229 { +entry: + %GlobalSize = alloca %"class.sycl::_V1::range", align 8 + %LocalSize = alloca %"class.sycl::_V1::range", align 8 + %GroupRange = alloca %"class.sycl::_V1::range", align 8 + %GroupId = alloca %"class.sycl::_V1::range", align 8 + %GlobalId = alloca %"class.sycl::_V1::range", align 8 + %LocalId = alloca %"class.sycl::_V1::range", align 8 + %GlobalOffset = alloca %"class.sycl::_V1::range", align 8 + %Group = alloca %"class.sycl::_V1::group", align 8 + %GlobalItem = alloca %"class.sycl::_V1::item", align 8 + %LocalItem = alloca %"class.sycl::_V1::item.1524", align 8 + %GlobalSize.ascast = addrspacecast ptr %GlobalSize to ptr addrspace(4) + %LocalSize.ascast = addrspacecast ptr %LocalSize to ptr addrspace(4) + %GroupRange.ascast = addrspacecast ptr %GroupRange to ptr addrspace(4) + %GroupId.ascast = addrspacecast ptr %GroupId to ptr addrspace(4) + %GlobalId.ascast = addrspacecast ptr %GlobalId to ptr addrspace(4) + %LocalId.ascast = addrspacecast ptr %LocalId to ptr addrspace(4) + %GlobalOffset.ascast = addrspacecast ptr %GlobalOffset to ptr addrspace(4) + %Group.ascast = addrspacecast ptr %Group to ptr addrspace(4) + %GlobalItem.ascast = addrspacecast ptr %GlobalItem to ptr addrspace(4) + %LocalItem.ascast = addrspacecast ptr %LocalItem to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GlobalSize) #13 + call spir_func void @_ZN7__spirv14initGlobalSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GlobalSize.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %LocalSize) #13 + call spir_func void @_ZN7__spirv17initWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %LocalSize.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GroupRange) #13 + call spir_func void @_ZN7__spirv17initNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GroupRange.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GroupId) #13 + call spir_func void @_ZN7__spirv15initWorkgroupIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GroupId.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GlobalId) #13 + call spir_func void @_ZN7__spirv22initGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GlobalId.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %LocalId) #13 + call spir_func void @_ZN7__spirv21initLocalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %LocalId.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GlobalOffset) #13 + call spir_func void @_ZN7__spirv16initGlobalOffsetILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GlobalOffset.ascast) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %Group) #13 + call spir_func void @_ZN4sycl3_V16detail7Builder11createGroupILi1EEENS0_5groupIXT_EEERKNS0_5rangeIXT_EEES9_S9_RKNS0_2idIXT_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::group") align 8 %Group.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GlobalSize.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %LocalSize.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GroupRange.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GroupId.ascast) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %GlobalItem) #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10createItemILi1ELb1EEENSt9enable_ifIXT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEESG_(ptr addrspace(4) sret(%"class.sycl::_V1::item") align 8 %GlobalItem.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GlobalSize.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GlobalId.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GlobalOffset.ascast) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %LocalItem) #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10createItemILi1ELb0EEENSt9enable_ifIXntT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::item.1524") align 8 %LocalItem.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %LocalSize.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %LocalId.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail7Builder12createNDItemILi1EEENS0_7nd_itemIXT_EEERKNS0_4itemIXT_ELb1EEERKNS6_IXT_ELb0EEERKNS0_5groupIXT_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(24) %GlobalItem.ascast, ptr addrspace(4) noundef align 8 dereferenceable(16) %LocalItem.ascast, ptr addrspace(4) noundef align 8 dereferenceable(32) %Group.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %LocalItem) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %GlobalItem) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %Group) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GlobalOffset) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %LocalId) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GlobalId) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GroupId) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GroupRange) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %LocalSize) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GlobalSize) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300804EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300804EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE627_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + %2 = load i64, ptr %a2, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1230 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1230 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !1230 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !1230 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1230 + %call4.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #13, !noalias !1230 + %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS1i(half noundef %call.i, half noundef %call2.i, ptr addrspace(1) noundef %call4.i) #14, !noalias !1230 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm11EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(22) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(22) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(68) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1159 + ret ptr %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(52) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 7) #13 + %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 + %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 8) #13 + %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 + store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 + %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 9) #13 + %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 + store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 + %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 10) #13 + %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 + store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 + %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 11) #13 + %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 + store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 + %arrayinit.element24 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 13 + %call25 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 12) #13 + %15 = load i32, ptr addrspace(4) %call25, align 4, !tbaa !126 + store i32 %15, ptr addrspace(4) %arrayinit.element24, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1233 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300609EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300609EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE476_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300165EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300165EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE164_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EEC2EPU3AS0i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !906 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1235 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300058EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE57_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIiLm5EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, ptr addrspace(4) noundef align 4 dereferenceable(20) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 1) #13 + %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element3 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 2 + %call4 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 2) #13 + %3 = load i32, ptr addrspace(4) %call4, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element3, align 4, !tbaa !126 + %arrayinit.element5 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 3 + %call6 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 3) #13 + %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element5, align 4, !tbaa !126 + %arrayinit.element7 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 4 + %call8 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 4) #13 + %5 = load i32, ptr addrspace(4) %call8, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element7, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300081EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE80_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1237 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !1237 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300626EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300626EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE493_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300797EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE620_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1240 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1240 + store float 0x3FD5A742C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1240 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1240 + store float 0x3FCEE95380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1240 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1240 + store float 0x3FC9DF1360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1240 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1240 + store float 0x3FE5C30BA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1240 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1240 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1240 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1240 + store float 0x3FE6464600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1240 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1240 + store float 0x3FE72907E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1240 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1240 + store float 0x3FECAF7B20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1240 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1240 + store float 0x3FD5911280000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1240 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1240 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1240 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1240 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1240 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1240 + call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1240 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300781EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300781EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE604_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300190EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300190EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE189_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300410EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300410EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE369_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300222EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE221_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 60177696110369, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1243 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !927 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1246 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1246 + %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_asinpiDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300692EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1249 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1249 + store half 0xH3440, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1249 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1249 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1249 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1249 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300636EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE503_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1252 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300981EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300981EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE728_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1255 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1256 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !1256 + %call3.i = tail call spir_func noundef <8 x half> @_Z21__spirv_ocl_nextafterDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300466EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1259 + store float 0x3FD1B09360000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1259 + store float 0x3FC48DC020000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1259 + store float 0x3FD82D9080000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1259 + store float 0x3FE4200120000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1259 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1259 + store i32 -11566, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1259 + store i32 -9703, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1259 + store i32 -2182, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1259 + store i32 -21130, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1259 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1259 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1259 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1259 + %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1259 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1259 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1259 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !1259 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1259 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 + store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300249EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE248_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1262 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1262 + store float 0x3FE3BB0AE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1262 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1262 + store float 0x3FEC8090A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1262 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1262 + store float 0x3FE9DDD560000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1262 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1262 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1262 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1262 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1262 + call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1262 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iS4_EET_T0_(ptr addrspace(3) noundef %from) #1 comdat !srcloc !114 { +entry: + ret ptr addrspace(3) %from +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !626 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1265 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300097EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300097EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE96_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300325EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300325EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE324_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1266 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301042EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE777_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3927, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1268 + call spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %left, ptr addrspace(4) noundef align 8 dereferenceable(8) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = trunc i64 %i.0 to i32 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %left, i32 noundef %conv) #13 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %right, i32 noundef %conv) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !1272 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !230 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1273 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1273 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1273 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1273 + %call3.i = tail call spir_func noundef <4 x half> @_Z21__spirv_ocl_remainderDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300600EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300600EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300911EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE690_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1276 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1279 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300625EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE492_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1280 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16detail9half_impl4halfEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { +entry: + %arrayidx = getelementptr inbounds [17 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300784EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300784EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE607_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm7EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(28) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(28) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1284 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300091EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE90_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1285 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm13EE6_S_refERA13_Kim(ptr addrspace(4) noundef align 4 dereferenceable(52) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [13 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1288 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1289 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300852EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp9.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1290 + store float 0x3FE4B6CA00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1290 + store float 0x3FE516D540000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1290 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1290 + store float 0x3FE1018800000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1290 + store float 0x3FDE687780000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1290 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1290 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1290 + store i32 -6534, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1290 + store i32 986, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1290 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1290 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1290 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1290 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1290 + store i32 %0, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !1290 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1290 + store i32 %1, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !1290 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1290 + store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !1290 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1290 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %3 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %3, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1293 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300321EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300321EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE320_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300176EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE175_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH37C8, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1294 + call spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(6) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1297 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300459EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300459EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE386_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE40_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1298 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1298 + store float 0x3FC70EFA00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1298 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1298 + store float 0x3FE90F91A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1298 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1298 + store float 0x3FDAB5F9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1298 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1298 + store float 0x3FC52138A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1298 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1298 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1298 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1298 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1298 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1298 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1298 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1298 + call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1298 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + %2 = load i64, ptr %a2, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1301 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1301 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !1301 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !1301 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1301 + %call4.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp3.i) #13, !noalias !1301 + %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS0i(half noundef %call.i, half noundef %call2.i, ptr noundef %call4.i) #14, !noalias !1301 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE66_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1304 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1307 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1307 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !1307 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !1307 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !1307 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm11EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(44) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(44) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300517EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300517EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE428_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300193EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300193EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE192_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !943 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300766EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE589_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1310 + store float 0x3FE76ED3A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1310 + store float 0x3FDE4D85A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1310 + store float 0x3FE5EC99A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1310 + store float 0x3FE8ACBC00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1310 + store float 0x3FE38C98A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1310 + store float 0x3FE310E9A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1310 + store float 0x3FD00FC040000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1310 + store float 0x3FD1E7F520000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1310 + store float 0x3FE3DD4180000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1310 + store float 0x3FEB489FE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1310 + store float 0x3FE0EEFF40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1310 + store float 0x3FBD325300000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1310 + store float 0x3FE8E661C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1310 + store float 0x3FEA7F0C00000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1310 + store float 0x3FCAF8FB60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1310 + store float 0x3FDAC498C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1310 + store float 0x3FE57B3D60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1310 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1310 + store float 0x3FDC8D24C0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1310 + store float 0x3FDE6373A0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1310 + store float 0x3FE7B3DD20000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1310 + store float 0x3FE78E0460000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1310 + store float 0x3FE083C820000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1310 + store float 0x3FE48E93E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1310 + store float 0x3FD5DF7740000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1310 + store float 0x3FE21EADC0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1310 + store float 0x3FE3688B00000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1310 + store float 0x3FD37CB060000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1310 + store float 0x3FBFABB420000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1310 + store float 0x3FE869D700000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1310 + store float 0x3FD98B6AA0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1310 + store float 0x3FEC73AF40000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1310 + store float 0x3FC871F940000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1310 + store float 0x3FE23CC580000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !1310 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1310 + store float 0x3FEC79DDC0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !1310 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1310 + call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1310 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1310 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300236EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE235_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1313 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300858EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300858EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300334EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE333_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1316 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1316 + store float 0x3FBE2413C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1316 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1316 + store float 0x3FD5947BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1316 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1316 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1316 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1316 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1316 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1316 + store half 0xH34B2, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !1316 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1316 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1320 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300081EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300081EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE80_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300575EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2223, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300575EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300764EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE587_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1321 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1321 + store float 0x3FE1885400000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1321 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1321 + store float 0x3FE8661BE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1321 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1321 + store float 0x3FE8C02940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1321 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1321 + store float 0x3FD75AB0A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1321 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1321 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1321 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1321 + store float 0x3FE26F7560000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1321 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1321 + store float 0x3FD00A7F40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1321 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1321 + store float 0x3FD83130A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1321 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1321 + store float 0x3FDB6AD6A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1321 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1321 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1321 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1321 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1321 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1321 + call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1321 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !911 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1324 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1324 + %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_lgammaDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1327 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300972EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1329 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1329 + store float 0x3FEA1E1460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1329 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1329 + store float 0x3FE7DE54E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1329 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1329 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1329 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1329 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1329 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1329 + store float 0x3FE90B5620000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1329 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1329 + store float 0x3FDBEF0340000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1329 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1329 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1329 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1329 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1329 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1329 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1329 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1329 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1329 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !1329 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1329 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1329 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1329 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300911EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300911EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE690_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300643EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE510_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1332 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1332 + store float 0x3FBF9DEE80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1332 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1332 + store float 0x3FEBBA49C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1332 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1332 + store float 0x3FEB18B7C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1332 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1332 + store float 0x3FE3864F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1332 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1332 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1332 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1332 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1332 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1332 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1332 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1332 + call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1332 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1335 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300396EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300396EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300870EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300870EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300475EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1336 + store float 0x3FE9760E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1336 + store float 0x3FE0CD12E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1336 + store float 0x3FE1DF4360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1336 + store float 0x3FEAF6C080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1336 + store float 0x3FE26F58E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1336 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1336 + store i32 27793, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1336 + store i32 -9407, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1336 + store i32 26558, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1336 + store i32 -7724, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1336 + store i32 -31321, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !1336 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1336 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1336 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1336 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1336 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !1336 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1336 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !557 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1339 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1339 + %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_tanDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300040EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE39_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !183 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1342 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1342 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1342 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1342 + %call3.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_powDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1345 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300926EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE705_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1347 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300234EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE233_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1350 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300927EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300927EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE706_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300334EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300334EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE333_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1354 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300233EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300233EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE232_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1356 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301018EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE753_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1357 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1358 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1358 + %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_acospiDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300118EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300118EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE117_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !738 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE758_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1361 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300500EN4sycl3_V16marrayIiLm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE411_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.2250", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1364 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1364 + store float 0x3FCEFCB440000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1364 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1364 + store float 0x3FDB6277A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1364 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1364 + store float 0x3FE7A99E60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1364 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1364 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1364 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1364 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1364 + call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1364 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm3EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%union.anon) align 8 %t) #1 comdat !srcloc !1367 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr addrspace(1) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(16) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <8 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t) #1 comdat !srcloc !971 { +entry: + %call = tail call spir_func noundef <8 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEcvDv8_DF16_Ev(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %t) #13 + ret <8 x half> %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %left, ptr addrspace(4) noundef align 2 dereferenceable(8) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !1368 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !352 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300909EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300909EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE688_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1370 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1255 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1371 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1371 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !1371 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !1371 + %call3.i = tail call spir_func noundef <2 x half> @_Z21__spirv_ocl_nextafterDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1374 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1375 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300195EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE194_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1376 + store float 0x3FE5654D20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1376 + store float 0x3FE4A10BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1376 + store float 0x3FE71C8EA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1376 + store float 0x3FE12657C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1376 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1376 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1376 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1376 + call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1376 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300515EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE426_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1379 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, i32 noundef 1248) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300468EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1382 + store float 0x3FE6749FE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1382 + store float 0x3FE3C42660000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1382 + store float 0x3FC7BB2360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1382 + store float 0x3FDA51A9E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1382 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1382 + store i32 16246, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1382 + store i32 -1440, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1382 + store i32 -15372, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1382 + store i32 16167, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1382 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1382 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1382 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1382 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1382 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1382 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1382 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !1382 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1382 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1385 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1386 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1387 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300895EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300895EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE674_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.2110") align 32 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_iNS0_3vecIiLi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 32 dereferenceable(32) %t.ascast) #13 + ret <8 x i32> %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm5EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { +entry: + %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300864EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300864EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1389 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1389 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !1389 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !1389 + %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !1389 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1392 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300648EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300648EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE515_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm5EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE56_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 55242827904865, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1393 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300459EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE386_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2260.232, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1396 + store float 0x3FC4FEC600000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1396 + store float 0x3FE5C302A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1396 + store float 0x3FE34CDF80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1396 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1396 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1396 + store i32 -6471, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !1396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1396 + store i32 -5060, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1396 + store i32 6411, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1396 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1396 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1396 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1396 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !1396 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1396 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !1396 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !1396 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1396 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1399 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1400 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1400 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_asinDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300462EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300462EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm5EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300541EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1403 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1403 + store half 0xH377C, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1403 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1403 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1403 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1403 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1407 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300609EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE476_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1409 + store float 0x3FE37D6480000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1409 + store float 0x3FBCD390C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1409 + store float 0x3FCCBE98A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1409 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1409 + call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1409 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300813EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !1412 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1415 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1415 + store half 0xH3824, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1415 + store half 0xH383D, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !1415 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1415 + store i64 %2, ptr %agg.tmp4.i, align 8, !tbaa !128, !noalias !1415 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp4.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1415 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1418 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300200EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE199_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 59413275032175, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1419 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300737EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1422 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1422 + store float 0x3FEB770C80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1422 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1422 + store float 0x3FE8C890A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1422 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1422 + store float 0x3FEBFDC260000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1422 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1422 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1422 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1422 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1422 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1422 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1422 + store float 0x3FDEA09500000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1422 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1422 + store float 0x3FDB6681C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1422 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1422 + store float 0x3FE694D9C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1422 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1422 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1422 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1422 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1422 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1422 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1422 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1422 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1422 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1422 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1422 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1422 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300269EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300269EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE268_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300070EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300070EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE69_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301017EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE752_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301027EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301027EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE762_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300882EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300882EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE661_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300470EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300470EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE389_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1425 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1426 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300515EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300515EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE426_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301060EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE795_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1429 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1429 + store float 0x3FECB69760000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1429 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1429 + store float 0x3FE6095A80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1429 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1429 + store float 0x3FD11A9220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1429 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1429 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1429 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1429 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1429 + call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1429 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300902EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE681_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1432 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300198EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE197_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3B1A, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1435 + call spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300485EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300485EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE396_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1438 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1439 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1439 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_ceilDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300152EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE151_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1442 + store float 0x3FE53F6FC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1442 + store float 0x3FEBB993A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1442 + store float 0x3FCDA4B3A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1442 + store float 0x3FEAD7D6A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1442 + store float 0x3FEAF4D9C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1442 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1442 + store float 0x3FE3731740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1442 + store float 0x3FEB462540000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1442 + store float 0x3FD3566680000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1442 + store float 0x3FE9C614C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1442 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1442 + store float 0x3FE7004620000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1442 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1442 + call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1442 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1442 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300251EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE250_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1445 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1445 + store float 0x3FD8A78FE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1445 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1445 + store float 0x3FDCD54580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1445 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1445 + store float 0x3FDCDF22A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1445 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1445 + store float 0x3FE42DC360000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1445 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1445 + store float 0x3FE8DB8500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1445 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1445 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1445 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1445 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1445 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1445 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1445 + call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1445 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301032EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE767_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1448 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300803EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300803EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE626_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1451 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1451 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !1451 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !1451 + %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS1i(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !1451 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.2215", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm2EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1454 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE11_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1455 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1458 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a2) #2 comdat !srcloc !1459 { +entry: + %agg.tmp25 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp14 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp3 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + %agg.tmp2.sroa.0.0.copyload = load <8 x half>, ptr %a2, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp14) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp25) + store <8 x half> %agg.tmp2.sroa.0.0.copyload, ptr %agg.tmp25, align 16 + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp14, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp3, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp3) #13, !noalias !1460 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp14) #13, !noalias !1460 + %call4.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp25) #13, !noalias !1460 + %call5.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_fmaDv8_DF16_S_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i, <8 x half> noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp14) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp25) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !997 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1463 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1463 + %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_atanpiDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1466 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !296 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1467 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !1467 + %call3.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_maxmagDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300117EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300117EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE116_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300986EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300986EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE729_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1470 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1471 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1471 + %call1.i = tail call spir_func noundef <2 x i32> @_Z17__spirv_ocl_ilogbDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, <2 x i32> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1474 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE4sizeEv() #1 comdat align 2 !srcloc !458 { +entry: + ret i64 3 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1475 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1477 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1479 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.40.5", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300213EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300213EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE212_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300201EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE200_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1481 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE820_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1484 + store float 0x3FD3BD0300000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1484 + store float 0x3FDE9F1840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1484 + store float 0x3FE8E15600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1484 + store float 0x3FD5E1E520000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1484 + store float 0x3FD4E56880000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1484 + store float 0x3FC260E220000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1484 + store float 0x3FCE2A69E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1484 + store float 0x3FCD4F8C20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1484 + store float 0x3FE7C1A5A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1484 + store float 0x3FEA624320000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1484 + store float 0x3FE96EE220000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1484 + store float 0x3FD224CAA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1484 + store float 0x3FEA47DF60000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1484 + store float 0x3FDD6CBDC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1484 + store float 0x3FCB5B8EC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1484 + store float 0x3FD7FB46C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1484 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1484 + store float 0x3FC1ACF180000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1484 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1484 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1484 + call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1484 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1488 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1490 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1490 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1490 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1491 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1492 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1492 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_coshDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300624EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE491_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3A15, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1495 + call spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300891EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE670_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2064", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1498 + store <4 x i32> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !1498 + call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301058EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE793_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIN4sycl3_V16detail9half_impl4halfEEPU3AS3T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !1502 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPvi(ptr addrspace(4) noundef %Ptr, i32 noundef 4) #15 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300748EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300748EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300237EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300237EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE236_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300184EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300184EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE183_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300265EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300265EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE264_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300644EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE511_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1504 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1504 + store float 0x3FE6A910E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1504 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1504 + store float 0x3FEAE70FE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1504 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1504 + store float 0x3FD8006360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1504 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1504 + store float 0x3FE33A0C40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1504 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1504 + store float 0x3FEC2E2DC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1504 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1504 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1504 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1504 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1504 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1504 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1504 + call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1504 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1507 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1508 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1508 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1508 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1508 + %call3.i = tail call spir_func noundef <4 x half> @_Z20__spirv_ocl_copysignDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp3 = alloca %"class.sycl::_V1::marray.7", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp3.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300508EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE419_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2110", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1511 + store <8 x i32> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1511 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300277EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE276_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 61805457192969, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1514 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2110") align 32 %a1) #2 comdat !srcloc !1517 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2110", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x i32>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <8 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1518 + %call2.i = tail call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp13) #13, !noalias !1518 + %call3.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_ldexpDv8_DF16_Dv8_i(<8 x half> noundef %call.i, <8 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1198 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1521 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1521 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1521 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !1521 + %call7.i = tail call spir_func noundef <3 x half> @_Z19__spirv_ocl_atan2piDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !967 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1525 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1525 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fabsDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1528 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm9EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(36) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(36) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300996EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300996EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300099EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE98_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3992, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1529 + call spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300306EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300306EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE305_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1533 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1534 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1534 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_expm1DF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1537 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1538 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300814EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1945, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !1540 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300814EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300270EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE269_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1543 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1543 + store float 0x3FE5562D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1543 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1543 + store float 0x3FE8F1EAC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1543 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1543 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1543 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1543 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1543 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1543 + store float 0x3FE4EC5E20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1543 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1543 + store float 0x3FCB234C80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1543 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1543 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1543 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1543 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1543 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1543 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1543 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1543 + call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1543 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1543 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1546 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301042EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301042EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE777_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300905EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE684_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1548 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1548 + store float 0x3FC14D64A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1548 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1548 + store float 0x3FD63E2B80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1548 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1548 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1548 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1548 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1548 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1548 + call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1548 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1552 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300898EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE677_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1553 + store float 0x3FDFFCD840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1553 + store float 0x3FC4577A60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1553 + store float 0x3FD2F08140000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1553 + store float 0x3FE579F240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1553 + store float 0x3FDF0A3620000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1553 + store float 0x3FD82E38A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1553 + store float 0x3FC65EDB40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1553 + store float 0x3FE2D551A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1553 + store float 0x3FDF099F20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1553 + store float 0x3FCADA6060000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1553 + store float 0x3FE0DCB5C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1553 + store float 0x3FE1A0C840000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1553 + store float 0x3FDFBD3CA0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1553 + store float 0x3FD7C56D80000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1553 + store float 0x3FE38C1B20000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1553 + store float 0x3FD14E35E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1553 + store float 0x3FDDC35F00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1553 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1553 + store i32 -13613, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1553 + store i32 29149, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1553 + store i32 1297, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1553 + store i32 -31384, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1553 + store i32 -28980, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1553 + store i32 -5765, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1553 + store i32 -14300, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1553 + store i32 -887, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1553 + store i32 9913, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1553 + store i32 -2332, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1553 + store i32 -7778, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1553 + store i32 25381, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1553 + store i32 5340, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1553 + store i32 29331, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1553 + store i32 22106, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1553 + store i32 -1515, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !1553 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1553 + store i32 7259, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !1553 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1553 + call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !1553 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1553 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300510EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300510EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE421_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300607EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE474_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1556 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1559 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a2, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp9, align 2, !tbaa !99 + %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp11, align 2, !tbaa !99 + %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a2.ascast, i64 noundef 2) #13 + %3 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 + store i16 %3, ptr %agg.tmp13, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 + %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %4 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call15, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [3 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300970EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 + store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1560 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1560 + store float 0x3FE062F000000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1560 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1560 + store float 0x3FCAFC6A40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1560 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1560 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1560 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1560 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1560 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1560 + store float 0x3FEC5C6480000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1560 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1560 + store float 0x3FE9999B20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1560 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1560 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1560 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1560 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1560 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1560 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1560 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1560 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1560 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !1560 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1560 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1560 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1560 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300148EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE147_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1563 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1563 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm15EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(30) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(30) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1566 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(20) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 7) #13 + %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 + %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 8) #13 + %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 + store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 + %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 9) #13 + %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 + store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1DF16_PU3AS1NS1_9half_impl4halfEEET_T0_(ptr addrspace(1) noundef %call) #13 + ret ptr addrspace(1) %call1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.2064") align 16 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_iNS0_3vecIiLi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t.ascast) #13 + ret <4 x i32> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1568 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300474EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300474EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE84_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1570 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1570 + store float 0x3FCCD0D000000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1570 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1570 + store float 0x3FEA2E3480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1570 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1570 + store float 0x3FEB68CC40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1570 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1570 + store float 0x3FE7CADA20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1570 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1570 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1570 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1570 + store float 0x3FD692DA20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1570 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1570 + store float 0x3FD2D555E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1570 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1570 + store float 0x3FE6863D80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1570 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1570 + store float 0x3FD54D6020000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1570 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1570 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1570 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1570 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1570 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1570 + call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1570 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301010EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE745_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1573 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !967 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1576 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fabsDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300621EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE488_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1579 + store float 0x3FD62977E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1579 + store float 0x3FE9B132E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1579 + store float 0x3FDC75CF60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1579 + store float 0x3FD49F72E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1579 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1579 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1579 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1579 + call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1579 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300585EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE464_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.2307.234, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1582 + store float 0x3FE72F2820000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1582 + store float 0x3FE546C840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1582 + store float 0x3FE3666DA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1582 + store float 0x3FECBFB680000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1582 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1582 + store i32 -3076, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1582 + store i32 19934, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1582 + store i32 -14504, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1582 + store i32 15358, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1582 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1582 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1582 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !1582 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1582 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1582 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1582 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !1582 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !1582 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !1582 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !1582 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1582 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1357 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1585 + %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_acospiDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300321EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE320_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1588 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !1588 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301041EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE776_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1591 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1593 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300523EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300523EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE434_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a2) #2 comdat !srcloc !1459 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp4.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + %2 = load i64, ptr %a2, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1594 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1594 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1594 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !1594 + store i64 %2, ptr %agg.tmp4.i, align 8, !tbaa !69, !noalias !1594 + %call5.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp4.i) #13, !noalias !1594 + %call12.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_fmaDv3_DF16_S_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i, <3 x half> noundef %call5.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call12.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm17EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { +entry: + %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300659EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300659EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE526_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300151EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE150_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1597 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1597 + store float 0x3FEB63FDE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1597 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1597 + store float 0x3FEAEB16C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1597 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1597 + store float 0x3FC4C78B60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1597 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1597 + store float 0x3FDD58C7E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1597 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1597 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1597 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1597 + store float 0x3FE63F5100000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1597 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1597 + store float 0x3FDD6C1B20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1597 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1597 + store float 0x3FE03A5220000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1597 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1597 + store float 0x3FE7DACD20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1597 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1597 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1597 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1597 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1597 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1597 + call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1597 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !253 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !1600 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1601 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !1602 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr addrspace(1) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE16_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1603 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1603 + store float 0x3FDF4E5240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1603 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1603 + store float 0x3FE354EF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1603 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1603 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1603 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1603 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1603 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1603 + call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1603 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1099 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1606 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1606 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1606 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !1606 + %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fmaxDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300061EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE60_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !860 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1609 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1609 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_tanhDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300253EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300253EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE252_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300246EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300246EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE245_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300230EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE229_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1612 + store float 0x3FC8BA8DC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1612 + store float 0x3FE2ADCE00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1612 + store float 0x3FEB227540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1612 + store float 0x3FD09B8760000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1612 + store float 0x3FE62BD1A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1612 + store float 0x3FD085C400000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1612 + store float 0x3FB9E7FDC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1612 + store float 0x3FEA26C080000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1612 + store float 0x3FE8DC4220000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1612 + store float 0x3FC3A35D20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1612 + store float 0x3FCEF04BA0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1612 + store float 0x3FD2656DE0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1612 + store float 0x3FEAF70C00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1612 + store float 0x3FD9F46BC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1612 + store float 0x3FE7DE7500000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1612 + store float 0x3FDCB6B200000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1612 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1612 + store float 0x3FD9EB7340000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1612 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1612 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1612 + call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1612 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1615 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1616 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300204EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE203_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1618 + store float 0x3FE22828E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1618 + store float 0x3FD3661A00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1618 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1618 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1618 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1618 + call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !967 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1621 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1621 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fabsDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1624 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300635EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300635EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE502_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm10EE6_S_refERA10_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(20) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [10 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1626 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1627 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1627 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_exp2DF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300173EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE172_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1630 + store float 0x3FE9451E40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1630 + store float 0x3FE7715300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1630 + store float 0x3FE92D1FE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1630 + store float 0x3FD3D3AAC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1630 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1630 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1630 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1630 + call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1630 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300532EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300532EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE443_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1633 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300998EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE733_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH36DC, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1635 + call spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300744EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300744EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE575_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm15EE6_S_refERA15_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(30) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300932EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE711_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.195, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1638 + store i16 12300, ptr %multiPtrSourceData.i, align 2, !noalias !1638 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1638 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1638 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !1638 + store half 0xH3A17, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1638 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1638 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !1638 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !1638 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !1638 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !1638 + %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !1638 + store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !1638 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !1638 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1638 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1638 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %4 = load i16, ptr %resArg, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !696 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1641 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2018") align 16 %a1) #2 comdat !srcloc !1517 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2018", align 16 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp13, ptr align 16 %a1, i64 16, i1 false) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1642 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1642 + %call2.i = tail call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp13) #13, !noalias !1642 + %call7.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_ldexpDv3_DF16_Dv3_i(<3 x half> noundef %call.i, <3 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE27_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1645 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1645 + store float 0x3FD65895C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1645 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1645 + store float 0x3FD8AFA8A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1645 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1645 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1645 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1645 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1645 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1645 + call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1645 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301076EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301076EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE811_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300090EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300090EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE89_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp5 = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp5) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp5.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp5) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !860 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1648 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1648 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_tanhDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm15EE6_S_refERA15_Kim(ptr addrspace(4) noundef align 4 dereferenceable(60) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1651 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1653 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1653 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1653 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1654 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300042EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE41_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1655 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1655 + store float 0x3FD4772120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1655 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1655 + store float 0x3FDD97AD00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1655 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1655 + store float 0x3FE77BE3C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1655 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1655 + store float 0x3FE9403560000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1655 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1655 + store float 0x3FCA765700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1655 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1655 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1655 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1655 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1655 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1655 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1655 + call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1655 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300689EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE556_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1658 + store float 0x3FC49BAFC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1658 + store float 0x3FDCD14E80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1658 + store float 0x3FE0E33E00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1658 + store float 0x3FDC20A2E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1658 + store float 0x3FE6495CE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1658 + store float 0x3FDD4F5060000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1658 + store float 0x3FE0FB2020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1658 + store float 0x3FE4B16800000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1658 + store float 0x3FC7A6B1A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1658 + store float 0x3FD499BA60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1658 + store float 0x3FE202A640000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1658 + store float 0x3FEAF67EC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1658 + store float 0x3FDFEF0B60000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1658 + store float 0x3FD016F040000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1658 + store float 0x3FCFBAA5E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1658 + store float 0x3FBFFECBE0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1658 + store float 0x3FC9771180000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1658 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1658 + store float 0x3FE25FF3E0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1658 + store float 0x3FC8707920000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1658 + store float 0x3FCCF963C0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1658 + store float 0x3FD75ABD40000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1658 + store float 0x3FD5C705C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1658 + store float 0x3FEA0B2FE0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1658 + store float 0x3FC858AB40000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1658 + store float 0x3FE1233120000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1658 + store float 0x3FD7FC72E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1658 + store float 0x3FE339EF60000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1658 + store float 0x3FE9D2EB00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1658 + store float 0x3FCBAEBCE0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1658 + store float 0x3FD7B788E0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1658 + store float 0x3FE6F7B5E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1658 + store float 0x3FD32F42A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1658 + store float 0x3FD50B0520000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !1658 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1658 + store float 0x3FBAA72060000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !1658 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1658 + call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1658 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1658 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300525EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE436_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH34DF, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1661 + call spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iS4_EET_T0_(ptr addrspace(3) noundef %call) #13 + ret ptr addrspace(3) %call1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300677EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300677EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE544_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300973EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1665 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1665 + store float 0x3FEAD20500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1665 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1665 + store float 0x3FD9C00260000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1665 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1665 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1665 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1665 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1665 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1665 + store float 0x3FCFD35220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1665 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1665 + store float 0x3FE9E6D9C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1665 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1665 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1665 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1665 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1665 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1665 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1665 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1665 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1665 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !1665 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1665 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1665 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1665 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2018") align 16 %a1) #2 comdat !srcloc !635 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2018", align 16 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp13, ptr align 16 %a1, i64 16, i1 false) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1668 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1668 + %call2.i = tail call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp13) #13, !noalias !1668 + %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_pownDv3_DF16_Dv3_i(<3 x half> noundef %call.i, <3 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300336EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300336EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE335_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300493EiZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE404_EvS5_T1_NS2_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRN4sycl3_V17handlerEE_clESM_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca i32, align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3A68, ptr %agg.tmp.i, align 2, !tbaa.struct !119 + %call.i = call spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + store i32 %call.i, ptr %ref.tmp, align 4, !tbaa !126 + call spir_func void @_ZN16value_operations6assignIiiEENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS2_RKS3_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1624 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300886EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300886EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE665_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300790EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300790EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE613_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300064EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE63_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1671 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1671 + store float 0x3FC3985D60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1671 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1671 + store float 0x3FC577AB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1671 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1671 + store float 0x3FE97197A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1671 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1671 + store float 0x3FC0D61000000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1671 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1671 + store float 0x3FD1ECB540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1671 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1671 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1671 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1671 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1671 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1671 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1671 + call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1671 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !860 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1674 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_tanhDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1677 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300871EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300871EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE654_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !488 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1679 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_expm1Dv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300026EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300026EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE25_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300146EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300146EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE145_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300892EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE671_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2110", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1682 + store <8 x i32> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1682 + call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300604EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE471_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 60220689758208, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1685 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300401EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1824.213, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300401EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1206 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv17initNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !1688 { +entry: + tail call spir_func void @_ZN7__spirv24InitSizesSTNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300100EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE99_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1689 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301077EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE812_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 53967242212743, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1692 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1695 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(10) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300337EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300337EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE336_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp21 = alloca %"struct.std::array.2409", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp21.ascast = addrspacecast ptr %ref.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 44, ptr nonnull %ref.tmp21) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2409") align 4 %ref.tmp21.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm11EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(44) %ref.tmp21.ascast) #13 + call void @llvm.lifetime.end.p0(i64 44, ptr nonnull %ref.tmp21) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300118EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE117_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1697 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1697 + store float 0x3FC6ED6CA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1697 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1697 + store float 0x3FE5F63C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1697 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1697 + store float 0x3FD3232060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1697 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1697 + store float 0x3FD4F82540000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1697 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1697 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1697 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1697 + store float 0x3FE60B3240000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1697 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1697 + store float 0x3FE4161740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1697 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1697 + store float 0x3FE6317500000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1697 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1697 + store float 0x3FE06428C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1697 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1697 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1697 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1697 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1697 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1697 + call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1697 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300111EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300111EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE110_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm4EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300267EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300267EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE266_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300108EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE107_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1700 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1700 + store float 0x3FE23715A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1700 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1700 + store float 0x3FC1E619C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1700 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1700 + store float 0x3FDA488CC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1700 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1700 + store float 0x3FD261DE40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1700 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1700 + store float 0x3FC57808C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1700 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1700 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1700 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1700 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1700 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1700 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1700 + call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1700 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1703 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1704 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_exp10Dv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %this, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %this, ptr align 2 %res_t, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr addrspace(4) %this, i64 0, i32 1 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %resArg, ptr align 4 %resArg_t, i64 68, i1 false), !tbaa.struct !1707 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i16, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1709 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300007EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE6_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300740EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1710 + store float 0x3FC78443C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1710 + store float 0x3FE6ACCD20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1710 + store float 0x3FE7EF1F40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1710 + store float 0x3FBEFF4200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1710 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1710 + store float 0x3FDB4BE240000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1710 + store float 0x3FD42209E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1710 + store float 0x3FEBAB9C80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1710 + store float 0x3FE6F67880000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1710 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1710 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1710 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1710 + %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1710 + store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1710 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1710 + store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !1710 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1710 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + %0 = load i16, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp4, align 2, !tbaa !99 + %2 = load i16, ptr %a1, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp6, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %4 = load i32, ptr %PartialRes, align 4 + store i32 %4, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1713 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1714 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300166EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300166EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE165_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1716 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300922EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300922EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE701_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1717 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1718 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1718 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_cospiDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1721 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1723 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1724 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_log10Dv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi8EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { +entry: + %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 + %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 + %splat.splatinsert = insertelement <8 x i32> poison, i32 %call, i64 0 + %splat.splat = shufflevector <8 x i32> %splat.splatinsert, <8 x i32> poison, <8 x i32> zeroinitializer + store <8 x i32> %splat.splat, ptr addrspace(4) %this, align 32, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %X.ascast = addrspacecast ptr %X to ptr addrspace(4) + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %X.ascast, i64 noundef %Start) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %add = add i64 %Start, 1 + %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %X.ascast, i64 noundef %add) #13 + %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300284EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300284EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE283_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300199EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE198_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1727 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300893EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300893EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE672_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1730 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300144EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300144EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE143_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300341EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE340_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 61161270555876, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1732 + store i64 61539140319257, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !1732 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300763EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300763EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE586_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm1EE6_S_refERA1_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(2) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300191EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE190_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1735 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300224EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE223_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1738 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300166EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE165_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1741 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !330 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300993EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE732_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1892.216, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1744 + store float 0x3FE91B73E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1744 + store float 0x3FE793A980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1744 + store float 0x3FC75E08A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1744 + store float 0x3FC0D67240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1744 + store float 0x3FC5BF6D80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1744 + store float 0x3FE3F070A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1744 + store float 0x3FBFFDD1E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1744 + store float 0x3FE1AA92A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1744 + store float 0x3FC7278620000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1744 + store float 0x3FE6F2A340000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1744 + store float 0x3FD4C2CC80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1744 + store float 0x3FD90258E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1744 + store float 0x3FE2638C40000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1744 + store float 0x3FE19AF300000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1744 + store float 0x3FCCF2BF40000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1744 + store float 0x3FE367B600000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1744 + store float 0x3FCC21D3A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1744 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1744 + store float 0x3FEA69F600000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1744 + store float 0x3FD42A6320000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1744 + store float 0x3FE7827D20000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1744 + store float 0x3FE39B8680000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1744 + store float 0x3FEA83EAE0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1744 + store float 0x3FE58AE620000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1744 + store float 0x3FDF86EB80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1744 + store float 0x3FE4C32880000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1744 + store float 0x3FD7A17880000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1744 + store float 0x3FCEA03A40000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1744 + store float 0x3FE7834A80000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1744 + store float 0x3FD02A9F60000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1744 + store float 0x3FE72FA620000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1744 + store float 0x3FE2A20180000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1744 + store float 0x3FC42070A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1744 + store float 0x3FC3412E40000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1744 + store float 0x3FD9D25E60000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !1744 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1744 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1744 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !1744 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1744 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !1744 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !1744 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1744 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300635EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE502_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH35E2, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1747 + call spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300671EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300671EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE538_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300651EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE518_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1750 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !296 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1753 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1753 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1753 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1753 + %call3.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_maxmagDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1756 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !243 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1758 + %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_erfDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + %agg.tmp13.sroa.0.0.copyload = load i32, ptr %agg.tmp1, align 4 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1761 + %call.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1761 + store i32 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !1761 + %call2.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !1761 + %call3.i = call spir_func noundef <2 x half> @_Z16__spirv_ocl_fminDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %call) #13 + ret ptr addrspace(1) %call1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1764 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301050EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE785_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm4EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm4EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1766 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1767 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1767 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_floorDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1770 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300473EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2364, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300473EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1771 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2110", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %a1.addr = alloca i32, align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.2110", align 32 + %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call spir_func void @_ZN4sycl3_V13vecIiLi8EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp13, ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp1, i64 32, i1 false) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1773 + %call2.i = call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp13) #13, !noalias !1773 + %call3.i = call spir_func noundef <8 x half> @_Z17__spirv_ocl_ldexpDv8_DF16_Dv8_i(<8 x half> noundef %call.i, <8 x i32> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300993EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300993EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE732_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1776 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder10createItemILi1ELb1EEENSt9enable_ifIXT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEESG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::item") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index, ptr addrspace(4) noundef align 8 dereferenceable(8) %Offset) #1 comdat align 2 !srcloc !1777 { +entry: + tail call spir_func void @_ZN4sycl3_V14itemILi1ELb1EEC2ILb1EEERNSt9enable_ifIXT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEESE_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index, ptr addrspace(4) noundef align 8 dereferenceable(8) %Offset) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE754_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1778 + store float 0x3FEB66B860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1778 + store float 0x3FC55042C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1778 + store float 0x3FE9F4A340000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1778 + store float 0x3FE0AD9F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1778 + store float 0x3FDBCA04E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1778 + store float 0x3FDA9B3FE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1778 + store float 0x3FC7DD45A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1778 + store float 0x3FE136BE00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1778 + store float 0x3FEA5FFB80000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1778 + store float 0x3FBB2994C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1778 + store float 0x3FEA458280000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1778 + store float 0x3FE6503AA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1778 + store float 0x3FEAF7EAA0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1778 + store float 0x3FDF3D8440000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1778 + store float 0x3FE6FF9500000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1778 + store float 0x3FE643DF20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1778 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1778 + store float 0x3FE7B61E40000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1778 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1778 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1778 + call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1778 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1781 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300046EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE45_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300783EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300783EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE606_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm14EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(28) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(28) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { +entry: + %call = tail call spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iS4_EET_T0_(ptr noundef %call) #13 + ret ptr %call1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300230EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300230EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE229_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300650EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300650EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE517_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1782 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE71_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1783 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1783 + store float 0x3FCC4CF900000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1783 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1783 + store float 0x3FEC75AD00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1783 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1783 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1783 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1783 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1783 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1783 + call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1783 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300086EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE85_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1786 + store float 0x3FDBE49C60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1786 + store float 0x3FC1895D60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1786 + store float 0x3FCA573AE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1786 + store float 0x3FBDCEFE00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1786 + store float 0x3FC4C774A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1786 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1786 + store float 0x3FC44BFC80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1786 + store float 0x3FDBEA7600000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1786 + store float 0x3FE14CC600000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1786 + store float 0x3FE62A9FA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1786 + store float 0x3FCB5EAD00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1786 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1786 + call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1786 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1786 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1790 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !1792 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1793 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !1794 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !971 { +entry: + %0 = load <4 x half>, ptr addrspace(4) %t, align 8, !tbaa !69 + tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IDv4_DF16_vEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, <4 x half> noundef %0) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300795EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE618_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1795 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1795 + store float 0x3FDC364A80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1795 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1795 + store float 0x3FD967B980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1795 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1795 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1795 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1795 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1795 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1795 + store float 0x3FE0834500000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1795 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1795 + store float 0x3FC2BBCD40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1795 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1795 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1795 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1795 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1795 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1795 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1795 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1795 + call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1795 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1795 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1730 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1798 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301032EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301032EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE767_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1799 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300654EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE521_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1801 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1801 + store float 0x3FEBA00040000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1801 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1801 + store float 0x3FE90EA640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1801 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1801 + store float 0x3FC79B54C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1801 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1801 + store float 0x3FDB49FAA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1801 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1801 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1801 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1801 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1801 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1801 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1801 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1801 + call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1801 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1804 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <4 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !971 { +entry: + %call = tail call spir_func noundef <4 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEcvDv4_DF16_Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + ret <4 x half> %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300733EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300733EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE572_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1790 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds i32, ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300474EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1805 + store float 0x3FBC5A9F60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1805 + store float 0x3FBE587980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1805 + store float 0x3FDE3BD520000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1805 + store float 0x3FE54EEBE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1805 + store float 0x3FEB8B9B80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1805 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1805 + store i32 -25129, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1805 + store i32 -18503, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1805 + store i32 16878, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1805 + store i32 -19727, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1805 + store i32 20942, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !1805 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1805 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1805 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1805 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1805 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !1805 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1805 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm15EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(60) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(60) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300281EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE280_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1808 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1808 + store float 0x3FE33F7E00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1808 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1808 + store float 0x3FE03F7AE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1808 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1808 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1808 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1808 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1808 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1808 + call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1808 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1811 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300015EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE14_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1812 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1815 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301024EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE759_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300489EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300489EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE400_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300035EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE34_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !548 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1817 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_rintDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300185EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE184_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1820 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1820 + store float 0x3FDCB99A40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1820 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1820 + store float 0x3FDE85A5A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1820 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1820 + store float 0x3FD1EBF580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1820 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1820 + store float 0x3FDA9D9DA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1820 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1820 + store float 0x3FE3B801C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1820 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1820 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1820 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1820 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1820 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1820 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1820 + call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1820 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300520EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE431_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1823 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1823 + store float 0x3FEACB2C40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1823 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1823 + store float 0x3FCE745CA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1823 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1823 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1823 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1823 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1823 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1823 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, i32 noundef 30982) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1823 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1633 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300196EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300196EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE195_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1826 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300232EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE231_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1827 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300139EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE138_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1830 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1830 + store float 0x3FEA40FD60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1830 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1830 + store float 0x3FE14A9E80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1830 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1830 + store float 0x3FEC3836A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1830 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1830 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1830 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1830 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1830 + call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1830 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300305EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE304_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1833 + store float 0x3FC88CA5A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1833 + store float 0x3FEACD05E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1833 + store float 0x3FDEF78980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1833 + store float 0x3FE4E92B80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1833 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1833 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1833 + store float 0x3FE2917C20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1833 + store float 0x3FE2B1A780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1833 + store float 0x3FE55FAD60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1833 + store float 0x3FC5E48640000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1833 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1833 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1833 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1833 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1833 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1833 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1833 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300143EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE142_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH388D, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1836 + store half 0xH3969, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1836 + call spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1839 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE18_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1840 + store float 0x3FC8CB67C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1840 + store float 0x3FD1B00540000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1840 + store float 0x3FE78A9440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1840 + store float 0x3FD76D0480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1840 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1840 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1840 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1840 + call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1840 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300970EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1748.209, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 + store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300970EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300489EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE400_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1843 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1843 + store float 0x3FD7430CC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1843 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1843 + store float 0x3FEAB4FF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1843 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1843 + store float 0x3FD0A04B20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1843 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1843 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1843 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1843 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1843 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !1843 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1843 + store float 0x3FC9C870A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1843 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1843 + store float 0x3FE3161860000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1843 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1843 + store float 0x3FDA8F0800000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1843 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1843 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1843 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1843 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1843 + call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !1843 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1843 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.2215", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300341EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300341EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE340_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1846 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1848 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300298EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300298EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE297_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300663EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE530_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1849 + store float 0x3FE24E8280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1849 + store float 0x3FD4200A00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1849 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1849 + store float 0x3FE930C4C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1849 + store float 0x3FE09172E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1849 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_2.i) #13, !noalias !1849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1849 + store float 0x3FE3DA5FE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1849 + store float 0x3FE9142780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1849 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1849 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1849 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1849 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1849 + store i32 %1, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !1849 + %2 = load i32, ptr %inputData_2.i, align 4, !tbaa !69, !noalias !1849 + store i32 %2, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !1849 + call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_2.i) #13, !noalias !1849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1852 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1853 + %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_sinDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300773EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE596_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1856 + store float 0x3FE56E8560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1856 + store float 0x3FE40920A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1856 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1856 + store float 0x3FD7E6D860000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1856 + store float 0x3FE49B3520000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1856 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1856 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1856 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1856 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1856 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1856 + call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1859 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1860 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1861 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1861 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_rsqrtDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300581EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1864 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1864 + store float 0x3FDA25EB80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1864 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1864 + store float 0x3FD18BBA20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1864 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1864 + store float 0x3FDC0AAFA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1864 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1864 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1864 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1864 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1864 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1864 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1864 + store i32 -24315, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !1864 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1864 + store i32 -20605, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1864 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1864 + store i32 7972, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1864 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1864 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1864 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1864 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1864 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1864 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1864 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1864 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1864 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1864 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1864 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1864 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a2) #2 comdat !srcloc !1459 { +entry: + %agg.tmp25 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp14 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp3 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + %agg.tmp2.sroa.0.0.copyload = load <16 x half>, ptr %a2, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp14) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp25) + store <16 x half> %agg.tmp2.sroa.0.0.copyload, ptr %agg.tmp25, align 32 + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp14, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp3, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp3) #13, !noalias !1867 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp14) #13, !noalias !1867 + %call4.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp25) #13, !noalias !1867 + %call5.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_fmaDv16_DF16_S_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i, <16 x half> noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp14) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp25) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffEE6CreateERKfSA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp9 = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp9.ascast = addrspacecast ptr %ref.tmp9 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp9) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp9.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm5EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp9.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp9) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1591 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !596 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1870 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1870 + %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_cosDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300904EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300904EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE683_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300755EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300755EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1873 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !1875 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1876 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !1877 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300855EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2270, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300855EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1878 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300300EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE299_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1879 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !1879 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300397EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300397EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1184 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3DF16_PU3AS3NS1_9half_impl4halfEEET_T0_(ptr addrspace(3) noundef %call) #13 + ret ptr addrspace(3) %call1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300289EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300289EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE288_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300879EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE658_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 56466883950663, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1882 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300115EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE114_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1885 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1885 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm5EE6_S_refERA5_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(10) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [5 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300978EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1888 + store float 0x3FE9F293E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1888 + store float 0x3FD9EC8740000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1888 + store float 0x3FC23F85A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1888 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1888 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1888 + store float 0x3FD88CD9A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1888 + store float 0x3FC3EFDF00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1888 + store float 0x3FDC219E20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1888 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1888 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1888 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1888 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1888 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1888 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1888 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1888 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1888 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1892 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300673EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE540_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1893 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1893 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300795EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300795EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE618_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1897 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1897 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !1897 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !1897 + %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS3i(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !1897 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300857EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300857EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1900 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !1902 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1903 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !1904 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %t) #1 comdat !srcloc !84 { +entry: + %t.addr = alloca i32, align 4 + %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) + store i32 %t, ptr %t.addr, align 4, !tbaa !126 + %call = call spir_func noundef i32 @_ZN4sycl3_V16detail20ConvertNonVectorTypeIiiEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS4_(ptr addrspace(4) noundef align 4 dereferenceable(4) %t.addr.ascast) #13 + ret i32 %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300316EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300316EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE315_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300875EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300875EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300156EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300156EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE155_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIN4sycl3_V16detail9half_impl4halfEEPU3AS1T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr addrspace(1) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1905 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1906 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1906 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_acosDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm4EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args31) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args31) #13 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIS4_Lm17EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300253EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE252_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH2E9D, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1909 + call spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300250EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE249_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1912 + store float 0x3FD7B697E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1912 + store float 0x3FE4BF5880000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1912 + store float 0x3FCD834920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1912 + store float 0x3FE177F860000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1912 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1912 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1912 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1912 + call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1912 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300293EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300293EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE292_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1915 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300114EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300114EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE113_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300465EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE388_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.2307.234, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1916 + store float 0x3FD550E300000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1916 + store float 0x3FECA01BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1916 + store float 0x3FD8F34600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1916 + store float 0x3FE969DE60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1916 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1916 + store i32 -31840, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1916 + store i32 -14704, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1916 + store i32 31378, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1916 + store i32 11200, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1916 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1916 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1916 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !1916 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1916 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1916 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1916 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !1916 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !1916 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !1916 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !1916 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1916 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300034EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE33_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300931EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300931EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE710_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300246EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE245_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1919 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300606EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300606EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE473_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300408EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300408EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIS4_Lm5EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, ptr addrspace(4) noundef align 2 dereferenceable(10) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 1) #13 + %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element3 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 2 + %call4 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 2) #13 + %3 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element3, align 2, !tbaa !99 + %arrayinit.element5 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 3 + %call6 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 3) #13 + %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element5, align 2, !tbaa !99 + %arrayinit.element7 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 4 + %call8 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 4) #13 + %5 = load i16, ptr addrspace(4) %call8, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element7, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300043EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300043EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE42_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300055EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE54_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3A54, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1923 + call spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300167EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300167EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE166_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE785_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1926 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1926 + store float 0x3FCF27BCA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1926 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1926 + store float 0x3FE3A241E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1926 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1926 + store float 0x3FE8EFE920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1926 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1926 + store float 0x3FE9507720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1926 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1926 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1926 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1926 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1926 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1926 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1926 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1926 + call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1926 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300394EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1929 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1929 + store float 0x3FC69C32A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1929 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1929 + store float 0x3FDF6689A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1929 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1929 + store float 0x3FD795E000000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1929 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1929 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1929 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1929 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1929 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1929 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1929 + store float 0x3FEA020A20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1929 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1929 + store float 0x3FD0CD5420000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1929 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1929 + store float 0x3FD1DB83E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1929 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1929 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1929 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1929 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1929 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1929 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1929 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1929 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1929 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1929 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1929 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1929 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !628 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1932 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1932 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_floorDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp9, align 2, !tbaa !99 + %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp11, align 2, !tbaa !99 + %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a2.ascast, i64 noundef 16) #13 + %2 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp13, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 + %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call15, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a2, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %4 = load i32, ptr %PartialRes, align 4 + store i32 %4, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !1935 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301062EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE797_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(4) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef nonnull align 4 dereferenceable(12) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1936 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300914EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE693_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1937 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [4 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300062EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE61_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm4EE6_S_refERA4_Kim(ptr addrspace(4) noundef align 4 dereferenceable(16) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm4EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(16) %left, ptr addrspace(4) noundef align 4 dereferenceable(16) %right) #1 comdat !srcloc !145 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm4EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !1940 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300922EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE701_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1941 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300616EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300616EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE483_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300203EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE202_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1944 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args31) #4 comdat align 2 !srcloc !1947 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.2391", align 4 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2391") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args31) #13 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIiLm17EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, ptr addrspace(4) noundef align 4 dereferenceable(68) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300592EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1948 + store float 0x3FD9CC36C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1948 + store float 0x3FDABAF1C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1948 + store float 0x3FE0A0CE00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1948 + store float 0x3FC0785E20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1948 + store float 0x3FEB21E7E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1948 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1948 + store i32 -13937, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1948 + store i32 -11826, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1948 + store i32 1601, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1948 + store i32 -11397, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1948 + store i32 -10644, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !1948 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1948 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1948 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1948 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1948 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !1948 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1948 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1095 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1951 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1951 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_erfcDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300780EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE603_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2018", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store i64 56874799282793, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1954 + call void @llvm.memcpy.p0.p1.i64(ptr align 16 %agg.tmp2.i, ptr addrspace(1) align 16 @__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE603_clEv.inputData_1, i64 16, i1 false), !noalias !1954 + call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a2) #2 comdat !srcloc !902 { +entry: + %agg.tmp25 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp14 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp3 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + %agg.tmp2.sroa.0.0.copyload = load <8 x half>, ptr %a2, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp14) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp25) + store <8 x half> %agg.tmp2.sroa.0.0.copyload, ptr %agg.tmp25, align 16 + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp14, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp3, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp3) #13, !noalias !1957 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp14) #13, !noalias !1957 + %call4.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp25) #13, !noalias !1957 + %call5.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_madDv8_DF16_S_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i, <8 x half> noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp14) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp25) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(6) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1960 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300465EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300465EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE388_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300283EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300283EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE282_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1961 + ret ptr addrspace(1) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(28) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 7) #13 + %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 + %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 8) #13 + %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 + store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 + %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 9) #13 + %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 + store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 + %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 10) #13 + %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 + store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 + %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 11) #13 + %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 + store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 + %arrayinit.element24 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 13 + %call25 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 12) #13 + %15 = load i16, ptr addrspace(4) %call25, align 2, !tbaa !99 + store i16 %15, ptr addrspace(4) %arrayinit.element24, align 2, !tbaa !99 + %arrayinit.element26 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 14 + %call27 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 13) #13 + %16 = load i16, ptr addrspace(4) %call27, align 2, !tbaa !99 + store i16 %16, ptr addrspace(4) %arrayinit.element26, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300331EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300331EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE330_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300652EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE519_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1963 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1963 + store float 0x3FD0C238A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1963 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1963 + store float 0x3FEA57F8E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1963 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1963 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1963 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1963 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1963 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1963 + call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1963 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300737EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300737EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE29_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1966 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1966 + store float 0x3FBC259F00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1966 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1966 + store float 0x3FE62F2E80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1966 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1966 + store float 0x3FD7995360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1966 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1966 + store float 0x3FC17AB4C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1966 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1966 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1966 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1966 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1966 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1966 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1966 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1966 + call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1966 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300873EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2422, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300873EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300907EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE686_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1969 + store float 0x3FE0B450E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1969 + store float 0x3FEC109DE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1969 + store float 0x3FD52F0F60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1969 + store float 0x3FC0534F40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1969 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1969 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1969 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1969 + call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1969 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300233EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE232_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 63875715053704, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1972 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300513EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300513EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE424_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1975 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(8) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE35_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1977 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300481EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300481EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300109EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300109EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE108_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300124EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300124EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE123_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1980 + ret ptr %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1982 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1984 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1986 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300767EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE590_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH31A0, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1988 + store half 0xH3802, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1988 + call spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr addrspace(4) noundef align 32 dereferenceable(32) %t) #1 comdat !srcloc !971 { +entry: + %0 = load <16 x half>, ptr addrspace(4) %t, align 32, !tbaa !69 + tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IDv16_DF16_vEES7_(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %agg.result, <16 x half> noundef %0) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !774 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1991 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_acosDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !1994 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300646EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE513_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH399C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1995 + call spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1998 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300663EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300663EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE530_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300610EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE477_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2000 + store float 0x3FE3B739C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2000 + store float 0x3FC2256700000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2000 + store float 0x3FE5584D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2000 + store float 0x3FCA8C7D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2000 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2000 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2000 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2000 + call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2000 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm2EE4sizeEv() #1 comdat align 2 !srcloc !325 { +entry: + ret i64 2 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1255 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2003 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2003 + %call3.i = tail call spir_func noundef <16 x half> @_Z21__spirv_ocl_nextafterDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1354 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !2006 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !2007 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !2006 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { +entry: + %arrayidx = getelementptr inbounds [3 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300532EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE443_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2009 + store float 0x3FE0E38D80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2009 + store float 0x3FE3EB2720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2009 + store float 0x3FD7DB59A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2009 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2009 + call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2009 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !967 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2012 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fabsDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300746EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1862.215, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300746EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm13EE6_S_refERA13_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(26) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [13 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300126EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300126EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE125_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300053EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE52_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2015 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2015 + store float 0x3FD9A116C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2015 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2015 + store float 0x3FEC261460000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2015 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2015 + store float 0x3FE38E2780000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2015 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2015 + store float 0x3FC38A9DE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2015 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2015 + store float 0x3FC5785CA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2015 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2015 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2015 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2015 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2015 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2015 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2015 + call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2015 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300622EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300622EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE489_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !2018 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2019 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2019 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_cbrtDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301074EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE809_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !256 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300864EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp15.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2023 + store float 0x3FC1B7BF20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2023 + store float 0x3FD1CDF160000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2023 + store float 0x3FE5BC42C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2023 + store float 0x3FE7ADD080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2023 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2023 + store float 0x3FE4DD9980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2023 + store float 0x3FC2BA1AA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2023 + store float 0x3FE7B9EBC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2023 + store float 0x3FE851F4C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2023 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2023 + store i32 7174, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2023 + store i32 27916, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2023 + store i32 -289, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2023 + store i32 13607, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !2023 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2023 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2023 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2023 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2023 + store i64 %0, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !2023 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !2023 + store i64 %1, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !2023 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2023 + store i64 %2, ptr %agg.tmp15.i, align 8, !tbaa !128, !noalias !2023 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp15.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2023 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2026 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2027 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2028 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2029 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300880EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE659_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2030 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300766EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300766EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE589_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300328EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE327_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2033 + store float 0x3FECAA1440000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2033 + store float 0x3FE08C81C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2033 + store float 0x3FDC19D2A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2033 + store float 0x3FE5C6DE00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2033 + store float 0x3FD9CC0060000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2033 + store float 0x3FC06EDB00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2033 + store float 0x3FDCF90E40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2033 + store float 0x3FD5229340000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2033 + store float 0x3FE4208440000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2033 + store float 0x3FE0AF13A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2033 + store float 0x3FE87354C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2033 + store float 0x3FDF737AC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2033 + store float 0x3FCCB51960000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2033 + store float 0x3FCC045FA0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2033 + store float 0x3FE1DBF180000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2033 + store float 0x3FD3F62800000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2033 + store float 0x3FD13BDFC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2033 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2033 + store float 0x3FEB4F4460000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2033 + store float 0x3FCB105E20000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2033 + store float 0x3FEAA6C280000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2033 + store float 0x3FE0ED6BC0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2033 + store float 0x3FEB2F5260000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2033 + store float 0x3FE8ADE320000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2033 + store float 0x3FD5B3DB80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2033 + store float 0x3FDE795C80000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2033 + store float 0x3FC5887160000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2033 + store float 0x3FD92C6F40000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2033 + store float 0x3FEAEC99A0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2033 + store float 0x3FC7247220000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2033 + store float 0x3FD2FA0440000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2033 + store float 0x3FC12CD900000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2033 + store float 0x3FE93CB960000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2033 + store float 0x3FE4B328E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2033 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2033 + store float 0x3FE2498860000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2033 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2033 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2033 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2033 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300619EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE486_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2036 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2036 + store float 0x3FDECE1D80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2036 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2036 + store float 0x3FE022F800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2036 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2036 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2036 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2036 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2036 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2036 + call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2036 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300631EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE498_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2039 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2039 + store float 0x3FE8E045A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2039 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2039 + store float 0x3FD7C43700000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2039 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2039 + store float 0x3FD5466A40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2039 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2039 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2039 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2039 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2039 + call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2039 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300287EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300287EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE286_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300762EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300762EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE585_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm2EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300175EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300175EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE174_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2042 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2044 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %X.ascast = addrspacecast ptr %X to ptr addrspace(4) + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %X.ascast, i64 noundef %Start) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %add = add i64 %Start, 1 + %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %X.ascast, i64 noundef %add) #13 + %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2046 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !280 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2047 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_ceilDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300738EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300738EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE573_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300674EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE541_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2050 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2050 + store float 0x3FE63D3AA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2050 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2050 + store float 0x3FEA87E1A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2050 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2050 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2050 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2050 + store float 0x3FE47CCC80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2050 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2050 + store float 0x3FD69C2640000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2050 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2050 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2050 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2050 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !2050 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2050 + call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2053 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2055 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2055 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2055 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2064", align 16 + %a1.addr = alloca i32, align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.2064", align 16 + %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V13vecIiLi4EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp13, ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp1, i64 16, i1 false) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2056 + %call.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2056 + %call2.i = call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp13) #13, !noalias !2056 + %call3.i = call spir_func noundef <4 x half> @_Z17__spirv_ocl_ldexpDv4_DF16_Dv4_i(<4 x half> noundef %call.i, <4 x i32> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE78_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 60946552993610, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2059 + store i64 53155339516378, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2059 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300860EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE651_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp14.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp15.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.2307.234, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2062 + store float 0x3FE0A4F020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2062 + store float 0x3FE9EAC680000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2062 + store float 0x3FCE7D40E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2062 + store float 0x3FE4B89E60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2062 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2062 + store float 0x3FE3E1F600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2062 + store float 0x3FE37BC8C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2062 + store float 0x3FD305BA00000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2062 + store float 0x3FDB92BFE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2062 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2062 + store i32 -8756, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2062 + store i32 -11950, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2062 + store i32 214, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2062 + store i32 -17941, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !2062 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2062 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2062 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2062 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2062 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2062 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !2062 + store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !2062 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2062 + store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !128, !noalias !2062 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp14.i) #14, !noalias !2062 + %3 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2062 + store i64 %3, ptr %agg.tmp15.i, align 8, !tbaa !69, !noalias !2062 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp15.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2062 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2065 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2067 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2067 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2067 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300780EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300780EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE603_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2068 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm3EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300223EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE222_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2069 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2072 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2074 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2075 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2076 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300917EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE696_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2077 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2077 + store float 0x3FE55C54C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2077 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2077 + store float 0x3FEAB8A140000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2077 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2077 + store float 0x3FE19CF9A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2077 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2077 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2077 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2077 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2077 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2077 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1479 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2080 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2081 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2082 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm2EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300968EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300968EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE723_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !716 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2083 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_atanDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300615EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE482_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 53984422278060, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2086 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !168 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2089 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2089 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2089 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2089 + %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fminDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300283EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE282_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2092 + store float 0x3FD93114A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2092 + store float 0x3FEBDECF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2092 + store float 0x3FE00B78A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2092 + store float 0x3FE4D1EEC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2092 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2092 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2092 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2092 + call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2092 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1027 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2095 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2096 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2097 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2098 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2100 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2100 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2100 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2101 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2103 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !2105 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2106 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2106 + %call1.i = tail call spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %a1) #13, !noalias !2106 + %call2.i = tail call spir_func noundef half @_Z16__spirv_ocl_pownDF16_i(half noundef %call.i, i32 noundef %call1.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(20) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv28InitSizesSTLocalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !2109 { +entry: + %call = tail call spir_func noundef i64 @_ZN7__spirvL20getLocalInvocationIdILi0EEEmv() #13 + tail call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300076EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE75_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2110 + store float 0x3FDA07E280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2110 + store float 0x3FE7138BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2110 + store float 0x3FDF811E40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2110 + store float 0x3FE9C2BC00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2110 + store float 0x3FE2D1AE40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2110 + store float 0x3FDE51EEA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2110 + store float 0x3FE3631FC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2110 + store float 0x3FD7B2DE80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2110 + store float 0x3FC987DFA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2110 + store float 0x3FE4AC39E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2110 + store float 0x3FE31FC8E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2110 + store float 0x3FE7632640000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2110 + store float 0x3FC9D0E3C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2110 + store float 0x3FEA8AA9C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2110 + store float 0x3FE7A9C340000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2110 + store float 0x3FEAAC1D00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2110 + store float 0x3FE9897180000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2110 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2110 + call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2110 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2113 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300673EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300673EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE540_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !2115 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2116 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_coshDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300580EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2270, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300580EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300793EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE616_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2119 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2119 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !655 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2122 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2122 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_asinhDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !235 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2125 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_roundDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300344EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300344EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE343_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300921EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE700_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3AC0, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2128 + call spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2131 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2132 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300083EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE82_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2133 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm6EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(24) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(24) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2135 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300972EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300972EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300851EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp9.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2136 + store float 0x3FE1228FA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2136 + store float 0x3FD3694360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2136 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2136 + store float 0x3FDF19E3E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2136 + store float 0x3FD844B820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2136 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2136 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2136 + store i32 31309, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2136 + store i32 21607, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2136 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2136 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2136 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2136 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2136 + store i32 %0, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !2136 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !2136 + store i32 %1, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !2136 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2136 + store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2136 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2136 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %3 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %3, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi2EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { +entry: + %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 + %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 + %splat.splatinsert = insertelement <2 x i32> poison, i32 %call, i64 0 + %splat.splat = shufflevector <2 x i32> %splat.splatinsert, <2 x i32> poison, <2 x i32> zeroinitializer + store <2 x i32> %splat.splat, ptr addrspace(4) %this, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp6 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + %2 = load i32, ptr %a2, align 2, !tbaa !69 + store i32 %2, ptr %agg.tmp6, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300770EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE593_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2139 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !2139 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2142 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2143 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm6EE6_S_refERA6_Kim(ptr addrspace(4) noundef align 4 dereferenceable(24) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [6 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300907EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300907EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE686_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300416EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE371_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.1936.218, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2144 + store i32 8323, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !2144 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2144 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2144 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2144 + store half 0xH39DC, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2144 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2144 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !2144 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !2144 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !2144 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !2144 + %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !2144 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, i32 noundef %2) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2144 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2144 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2144 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 4, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 + %4 = load i32, ptr %resArg, align 4, !tbaa !1180 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp9, align 2, !tbaa !99 + %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp11, align 2, !tbaa !99 + %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a2.ascast, i64 noundef 4) #13 + %2 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp13, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 + %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call15, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a2, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %4 = load i32, ptr %PartialRes, align 4 + store i32 %4, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2147 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300312EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300312EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE311_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2148 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300248EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE247_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2149 + store float 0x3FE695DAE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2149 + store float 0x3FDC2FDFA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2149 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2149 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2149 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2149 + call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300936EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300936EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2152 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2153 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !783 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2154 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2154 + %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_expDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !911 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2157 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2157 + %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_lgammaDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm12EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(48) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(48) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm11EE6_S_refERA11_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(22) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [11 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %left, ptr addrspace(4) noundef align 2 dereferenceable(10) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !2160 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300235EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE234_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2161 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300270EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300270EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE269_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm13EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(26) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(26) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300607EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300607EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE474_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300789EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300789EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE612_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300935EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2164 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2164 + store half 0xH3987, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2164 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2164 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2164 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2164 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { +entry: + %call = tail call spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0DF16_PU3AS0NS1_9half_impl4halfEEET_T0_(ptr noundef %call) #13 + ret ptr %call1 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1982 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2167 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2168 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300051EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE50_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE736_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2169 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + %0 = load i16, ptr %res_t, align 2, !tbaa !99 + store i16 %0, ptr addrspace(4) %this, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load i16, ptr %resArg_t, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %resArg, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm14EE6_S_refERA14_Kim(ptr addrspace(4) noundef align 4 dereferenceable(56) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm3EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300900EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300900EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE679_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm17EE6_S_refERA17_Kim(ptr addrspace(4) noundef align 4 dereferenceable(68) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300977EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1786.211, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300977EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !449 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1723 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2172 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2172 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_log10Dv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { +entry: + %arrayidx = getelementptr inbounds [5 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm5EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !740 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE770_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2175 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300889EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300889EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE668_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300087EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE86_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2178 + store float 0x3FDC041CC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2178 + store float 0x3FE3819EE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2178 + store float 0x3FC5756080000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2178 + store float 0x3FDD2CA100000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2178 + store float 0x3FD94E5020000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2178 + store float 0x3FEB7E1EC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2178 + store float 0x3FC2B97D60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2178 + store float 0x3FDB525880000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2178 + store float 0x3FDBC30EC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2178 + store float 0x3FE5D76760000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2178 + store float 0x3FD6D17FC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2178 + store float 0x3FD0D82420000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2178 + store float 0x3FD56AE500000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2178 + store float 0x3FDE826AC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2178 + store float 0x3FEB86E0E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2178 + store float 0x3FE7974100000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2178 + store float 0x3FD494B460000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2178 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2178 + store float 0x3FE17D4C80000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2178 + store float 0x3FE4D163C0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2178 + store float 0x3FE7919E60000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2178 + store float 0x3FDD3E5DA0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2178 + store float 0x3FDAD13FA0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2178 + store float 0x3FE6DA02A0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2178 + store float 0x3FDC80FEA0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2178 + store float 0x3FD3186E40000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2178 + store float 0x3FDD9DD220000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2178 + store float 0x3FEB309BE0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2178 + store float 0x3FCB661F00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2178 + store float 0x3FDE13A200000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2178 + store float 0x3FE383D520000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2178 + store float 0x3FDF24F3C0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2178 + store float 0x3FD0D38C80000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2178 + store float 0x3FB9FA3C20000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2178 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2178 + store float 0x3FE5181CC0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2178 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2178 + call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2178 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2178 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300726EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300726EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE569_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #4 comdat align 2 !srcloc !1947 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.2344", align 4 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #13 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIiLm5EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, ptr addrspace(4) noundef align 4 dereferenceable(20) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1095 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2181 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_erfcDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300315EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE314_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2184 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2184 + store float 0x3FCB7CBB40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2184 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2184 + store float 0x3FD1015240000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2184 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2184 + store float 0x3FE1FBC9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2184 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2184 + store float 0x3FBA4A8700000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2184 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2184 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2184 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2184 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2184 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2184 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2184 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2184 + store half 0xH3275, ptr %agg.tmp5.i, align 2, !tbaa.struct !119, !noalias !2184 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2184 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301071EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE806_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2187 + store float 0x3FC85387E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2187 + store float 0x3FE17731C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2187 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2187 + store float 0x3FE481A220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2187 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2187 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2187 + call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2187 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this) #4 comdat align 2 !srcloc !569 { +entry: + tail call void @llvm.memset.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %this, i8 0, i64 68, i1 false) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300404EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE367_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1854.214, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2190 + store float 0x3FC0BAD620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2190 + store float 0x3FE9901A60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2190 + store float 0x3FDC983E40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2190 + store float 0x3FE8D9CF20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2190 + store float 0x3FE9A0A5A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2190 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2190 + store float 0x3FE6104040000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2190 + store float 0x3FDEA80760000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2190 + store float 0x3FE08E7680000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2190 + store float 0x3FE275A920000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2190 + store float 0x3FDAA67E00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2190 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2190 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2190 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2190 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2190 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !2190 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !2190 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2190 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm5EE6_S_refERA5_Kim(ptr addrspace(4) noundef align 4 dereferenceable(20) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300809EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE632_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2193 + store float 0x3FEB445660000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2193 + store float 0x3FD6340E40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2193 + store float 0x3FEB526900000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2193 + store float 0x3FE4B5E7E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2193 + store float 0x3FDC306960000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2193 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2193 + store float 0x3FE6E15A80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2193 + store float 0x3FD5F1CA80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2193 + store float 0x3FD9360080000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2193 + store float 0x3FE8A2AE40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2193 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2193 + store float 0x3FEC595AE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2193 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2193 + call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2193 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2193 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300531EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE442_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2196 + store float 0x3FCAC84CC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2196 + store float 0x3FD5F309E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2196 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2196 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2196 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2196 + call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <8 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEcvDv8_DF16_Ev(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this) #1 comdat align 2 !srcloc !207 { +entry: + %0 = load <8 x half>, ptr addrspace(4) %this, align 16, !tbaa !69 + ret <8 x half> %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300065EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE64_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2199 + store float 0x3FC0F5F1C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2199 + store float 0x3FBCBAFB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2199 + store float 0x3FE8CE2440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2199 + store float 0x3FD7539100000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2199 + store float 0x3FCD413180000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2199 + store float 0x3FCC0A0380000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2199 + store float 0x3FE3FEE8E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2199 + store float 0x3FEBFF0180000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2199 + store float 0x3FE020C420000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2199 + store float 0x3FEA449620000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2199 + store float 0x3FE00FEA80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2199 + store float 0x3FE1E42180000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2199 + store float 0x3FE4924900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2199 + store float 0x3FE7CF91A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2199 + store float 0x3FE699D280000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2199 + store float 0x3FEC8EC120000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2199 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2199 + store float 0x3FE6528320000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2199 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2199 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2199 + call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2199 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300488EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300488EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE399_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300811EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300811EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE634_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2202 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300275EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE274_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3A39, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2203 + call spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300481EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2206 + store float 0x3FE7053EC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2206 + store float 0x3FE11A1960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2206 + store float 0x3FDB6D3EE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2206 + store float 0x3FDB811AC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2206 + store float 0x3FDC2BCF80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2206 + store float 0x3FE157C960000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2206 + store float 0x3FD2E589E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2206 + store float 0x3FEC3799A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2206 + store float 0x3FE93897C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2206 + store float 0x3FD7A76B40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2206 + store float 0x3FE0D10560000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2206 + store float 0x3FE3CDBBE0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2206 + store float 0x3FDFA88B00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2206 + store float 0x3FCE794700000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2206 + store float 0x3FE3AE4E00000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2206 + store float 0x3FE446C440000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2206 + store float 0x3FE239F040000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2206 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2206 + store i32 28697, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2206 + store i32 14971, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2206 + store i32 -19931, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2206 + store i32 -32525, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2206 + store i32 11867, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2206 + store i32 12763, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2206 + store i32 27437, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2206 + store i32 -12976, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2206 + store i32 3125, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2206 + store i32 -26062, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2206 + store i32 -24549, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2206 + store i32 26429, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2206 + store i32 -9056, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2206 + store i32 31956, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2206 + store i32 6742, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2206 + store i32 -12814, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2206 + store i32 -11788, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !2206 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2206 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2206 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2206 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2206 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !2206 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2206 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1616 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2209 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2210 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2211 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300407EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2213 + store float 0x3FE1C71FC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2213 + store float 0x3FE0E9EA20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2213 + store float 0x3FD174A6A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2213 + store float 0x3FE6348DC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2213 + store float 0x3FEC6BB160000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2213 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2213 + store float 0x3FE5895C00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2213 + store float 0x3FE787B160000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2213 + store float 0x3FE6FB6880000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2213 + store float 0x3FE7F2EE80000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2213 + store float 0x3FCD248680000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2213 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2213 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2213 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2213 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2213 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !2213 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2213 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2217 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300592EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2364, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300592EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1407 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2219 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2219 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2219 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp9 = alloca %"class.sycl::_V1::marray.2344", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp9.ascast = addrspacecast ptr %ref.tmp9 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %ref.tmp9) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %ref.tmp9.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm5EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(20) %ref.tmp9.ascast) #13 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %ref.tmp9) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300411EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE370_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1892.216, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2220 + store float 0x3FE355A8C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2220 + store float 0x3FE8A33CC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2220 + store float 0x3FD0A38D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2220 + store float 0x3FDDD5E1A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2220 + store float 0x3FCFA55160000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2220 + store float 0x3FD07F2440000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2220 + store float 0x3FC0741FE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2220 + store float 0x3FC9011520000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2220 + store float 0x3FE6969240000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2220 + store float 0x3FD74B2320000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2220 + store float 0x3FD600D3C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2220 + store float 0x3FCB88A120000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2220 + store float 0x3FE1F49360000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2220 + store float 0x3FDBA70320000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2220 + store float 0x3FC27588E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2220 + store float 0x3FD9FD0A20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2220 + store float 0x3FE7DFF1E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2220 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2220 + store float 0x3FE692C920000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2220 + store float 0x3FEC274020000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2220 + store float 0x3FE926C0C0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2220 + store float 0x3FDFE1BAC0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2220 + store float 0x3FE77C1DA0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2220 + store float 0x3FE74E5320000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2220 + store float 0x3FDB64B000000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2220 + store float 0x3FDA38D700000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2220 + store float 0x3FE189D6A0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2220 + store float 0x3FDD0F2520000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2220 + store float 0x3FE325B060000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2220 + store float 0x3FE8085720000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2220 + store float 0x3FEAB9C220000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2220 + store float 0x3FE3AB4DE0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2220 + store float 0x3FE0A294C0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2220 + store float 0x3FD1734200000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2220 + store float 0x3FDADBBBA0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2220 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2220 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2220 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2220 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2220 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !2220 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !2220 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2220 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !280 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2223 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_ceilDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300749EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300749EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2226 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !168 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2227 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2227 + %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fminDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2230 + %call.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2230 + store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2230 + %call2.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2230 + %call7.i = call spir_func noundef <3 x half> @_Z16__spirv_ocl_fmaxDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %left, ptr addrspace(4) noundef align 2 dereferenceable(2) %right) #1 comdat !srcloc !2233 { +entry: + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %left, ptr addrspace(4) noundef align 2 dereferenceable(2) %right) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300131EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300131EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE130_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.2215", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300508EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300508EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE419_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300096EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE95_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2234 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2234 + store float 0x3FE1E4D8E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2234 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2234 + store float 0x3FE3413900000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2234 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2234 + store float 0x3FE0CD9FE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2234 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2234 + store float 0x3FDB6EE5A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2234 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2234 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2234 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2234 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2234 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2234 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2234 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2234 + call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2234 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300150EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE149_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2237 + store float 0x3FE345A640000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2237 + store float 0x3FDFD88B20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2237 + store float 0x3FE5E95A40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2237 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2237 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2237 + store float 0x3FD328A440000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2237 + store float 0x3FEA0766A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2237 + store float 0x3FD473F7C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2237 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2237 + call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2237 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2237 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300082EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE81_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2240 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !2240 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300816EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300816EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp5 = alloca %"class.sycl::_V1::marray.2250", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp5) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp5.ascast) #13 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp5) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2156") align 64 %a1) #2 comdat !srcloc !1202 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2156", align 64 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x i32>, ptr %a1, align 64, !tbaa.struct !689 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp13) + store <16 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 64 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2243 + %call2.i = tail call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp13) #13, !noalias !2243 + %call3.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_rootnDv16_DF16_Dv16_i(<16 x half> noundef %call.i, <16 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1703 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2246 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2246 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_exp10Dv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300242EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300242EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE241_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300282EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE281_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2249 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2249 + store float 0x3FBC5CF520000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2249 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2249 + store float 0x3FCBED9B20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2249 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2249 + store float 0x3FE4457540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2249 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2249 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2249 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2249 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2249 + call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2249 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300200EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300200EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE199_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !843 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2253 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2253 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_truncDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2256 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300184EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE183_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2257 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2257 + store float 0x3FDB46F8E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2257 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2257 + store float 0x3FE40FEF40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2257 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2257 + store float 0x3FEBEE4F40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2257 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2257 + store float 0x3FDC7EB220000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2257 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2257 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2257 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2257 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2257 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2257 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2257 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2257 + call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2257 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + %0 = load i16, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp4, align 2, !tbaa !99 + %2 = load i16, ptr %a1, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp6, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %4 = load i32, ptr %PartialRes, align 4 + store i32 %4, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2260 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !303 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2261 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %t) #1 comdat !srcloc !1367 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2262 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2264 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2266 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2267 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2267 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2267 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2267 + %call3.i = tail call spir_func noundef half @_Z21__spirv_ocl_remainderDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300273EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE272_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2270 + store float 0x3FDA0BA460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2270 + store float 0x3FD29C5560000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2270 + store float 0x3FD62F5120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2270 + store float 0x3FE84E6780000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2270 + store float 0x3FEA589840000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2270 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2270 + store float 0x3FEBC89BA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2270 + store float 0x3FBCB63520000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2270 + store float 0x3FE67FEBA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2270 + store float 0x3FE0A70320000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2270 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2270 + store float 0x3FC98E1160000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2270 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2270 + call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2270 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2270 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !2273 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2274 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2274 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_sinhDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder11createGroupILi1EEENS0_5groupIXT_EEERKNS0_5rangeIXT_EEES9_S9_RKNS0_2idIXT_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::group") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Global, ptr addrspace(4) noundef align 8 dereferenceable(8) %Local, ptr addrspace(4) noundef align 8 dereferenceable(8) %Group, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index) #1 comdat align 2 !srcloc !2277 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr addrspace(4) %Group, align 8 + store i64 %0, ptr %agg.tmp, align 8 + tail call spir_func void @_ZN4sycl3_V15groupILi1EEC2ERKNS0_5rangeILi1EEES6_S4_RKNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Global, ptr addrspace(4) noundef align 8 dereferenceable(8) %Local, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2110") align 32 %a1) #2 comdat !srcloc !635 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2110", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x i32>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <8 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !2278 + %call2.i = tail call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp13) #13, !noalias !2278 + %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_pownDv8_DF16_Dv8_i(<8 x half> noundef %call.i, <8 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJLm0ELm1EEEERKSt5arrayIS4_Lm2EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !243 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2281 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2281 + %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_erfDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300066EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE65_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3A99, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2284 + call spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300260EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300260EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE259_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300080EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE79_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2287 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2289 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2289 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2289 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300391EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2290 + store float 0x3FE914F140000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2290 + store float 0x3FE42184E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2290 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2290 + store float 0x3FC93B32A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2290 + store float 0x3FEB2F0380000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2290 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2290 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2290 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2290 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2290 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2290 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2290 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !2290 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2290 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301054EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301054EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE789_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2294 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2295 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2295 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2295 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2295 + %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_copysignDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300847EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300847EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE646_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2298 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2299 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300668EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300668EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE535_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE82_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2301 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2301 + store float 0x3FD8F259C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2301 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2301 + store float 0x3FDEA2F5E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2301 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2301 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2301 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2301 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2301 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2301 + store float 0x3FD561FC60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2301 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2301 + store float 0x3FEB30C120000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2301 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2301 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2301 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2301 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2301 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2301 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !2301 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2301 + call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2301 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2301 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300491EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE402_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2304 + store float 0x3FEA815EE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2304 + store float 0x3FC4A48E20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2304 + store float 0x3FD04BFD80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2304 + store float 0x3FE1F6A600000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2304 + store float 0x3FD9C90D80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2304 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2304 + store float 0x3FE43E61C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2304 + store float 2.656250e-01, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2304 + store float 0x3FE4D8E920000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2304 + store float 0x3FC47534E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2304 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2304 + store float 0x3FD87EDF80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2304 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2304 + call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2304 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2304 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300140EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300140EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE139_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300141EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300141EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE140_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300229EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300229EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE228_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300612EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300612EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE479_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm3EE6_S_refERA3_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(6) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300670EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE537_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 58657251995948, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2307 + store i64 60306561448282, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2307 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300313EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300313EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE312_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300625EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300625EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE492_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300098EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300098EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE97_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(60) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 7) #13 + %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 + %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 8) #13 + %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 + store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 + %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 9) #13 + %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 + store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 + %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 10) #13 + %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 + store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 + %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 11) #13 + %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 + store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 + %arrayinit.element24 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 13 + %call25 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 12) #13 + %15 = load i32, ptr addrspace(4) %call25, align 4, !tbaa !126 + store i32 %15, ptr addrspace(4) %arrayinit.element24, align 4, !tbaa !126 + %arrayinit.element26 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 14 + %call27 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 13) #13 + %16 = load i32, ptr addrspace(4) %call27, align 4, !tbaa !126 + store i32 %16, ptr addrspace(4) %arrayinit.element26, align 4, !tbaa !126 + %arrayinit.element28 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 15 + %call29 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 14) #13 + %17 = load i32, ptr addrspace(4) %call29, align 4, !tbaa !126 + store i32 %17, ptr addrspace(4) %arrayinit.element28, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2053 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300814EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !1540 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2310 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2310 + store half 0xH3354, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2310 + store half 0xH35CE, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !2310 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2310 + store i64 %2, ptr %agg.tmp4.i, align 8, !tbaa !128, !noalias !2310 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp4.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2310 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [2 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1860 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2313 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2313 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_rsqrtDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi4EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { +entry: + %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 + %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 + %splat.splatinsert = insertelement <4 x i32> poison, i32 %call, i64 0 + %splat.splat = shufflevector <4 x i32> %splat.splatinsert, <4 x i32> poison, <4 x i32> zeroinitializer + store <4 x i32> %splat.splat, ptr addrspace(4) %this, align 16, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300693EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2317 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2317 + store half 0xH2FA7, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2317 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2317 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2317 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2317 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300021EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE20_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2320 + store float 0x3FE1E416A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2320 + store float 0x3FEA7F14C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2320 + store float 0x3FE0E01EA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2320 + store float 0x3FE49F8240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2320 + store float 0x3FBF1147E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2320 + store float 0x3FE374BC40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2320 + store float 0x3FE2B8E640000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2320 + store float 0x3FE1F1C3E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2320 + store float 0x3FDA6E0F60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2320 + store float 0x3FD959E600000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2320 + store float 0x3FEC4D1D20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2320 + store float 0x3FC086CBA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2320 + store float 0x3FBE07F9E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2320 + store float 0x3FEBCD6A20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2320 + store float 0x3FCFBDBA80000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2320 + store float 0x3FC97CA320000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2320 + store float 0x3FD12E77E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2320 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2320 + call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2320 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301021EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301021EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE756_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !183 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2323 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2323 + %call3.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_powDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300866EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300866EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE653_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300781EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE604_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2064", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2326 + store <4 x i32> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2326 + call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !142 { +entry: + %0 = load <2 x i32>, ptr addrspace(4) %t, align 8, !tbaa !69 + tail call spir_func void @_ZN4sycl3_V13vecIiLi2EEC2IDv2_ivEES4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, <2 x i32> noundef %0) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300881EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE660_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2329 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300155EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE154_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2332 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(12) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(12) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300161EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300161EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE160_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300227EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE226_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2335 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2335 + store float 0x3FE1EE0720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2335 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2335 + store float 0x3FC0F0CE20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2335 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2335 + store float 0x3FC65F4660000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2335 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2335 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2335 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2335 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2335 + call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2335 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300201EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300201EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE200_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2338 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300774EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300774EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE597_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300689EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300689EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE556_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.2", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2339 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2340 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2340 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_rintDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0DF16_PU3AS0NS1_9half_impl4halfEEET_T0_(ptr noundef %from) #1 comdat !srcloc !141 { +entry: + ret ptr %from +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIS4_Lm17EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, ptr addrspace(4) noundef align 2 dereferenceable(34) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 1) #13 + %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element3 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 2 + %call4 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 2) #13 + %3 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element3, align 2, !tbaa !99 + %arrayinit.element5 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 3 + %call6 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 3) #13 + %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element5, align 2, !tbaa !99 + %arrayinit.element7 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 4 + %call8 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 4) #13 + %5 = load i16, ptr addrspace(4) %call8, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element7, align 2, !tbaa !99 + %arrayinit.element9 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 5 + %call10 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 5) #13 + %6 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element9, align 2, !tbaa !99 + %arrayinit.element11 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 6 + %call12 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 6) #13 + %7 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element11, align 2, !tbaa !99 + %arrayinit.element13 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 7 + %call14 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 7) #13 + %8 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element13, align 2, !tbaa !99 + %arrayinit.element15 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 8 + %call16 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 8) #13 + %9 = load i16, ptr addrspace(4) %call16, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element15, align 2, !tbaa !99 + %arrayinit.element17 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 9 + %call18 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 9) #13 + %10 = load i16, ptr addrspace(4) %call18, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element17, align 2, !tbaa !99 + %arrayinit.element19 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 10 + %call20 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 10) #13 + %11 = load i16, ptr addrspace(4) %call20, align 2, !tbaa !99 + store i16 %11, ptr addrspace(4) %arrayinit.element19, align 2, !tbaa !99 + %arrayinit.element21 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 11 + %call22 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 11) #13 + %12 = load i16, ptr addrspace(4) %call22, align 2, !tbaa !99 + store i16 %12, ptr addrspace(4) %arrayinit.element21, align 2, !tbaa !99 + %arrayinit.element23 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 12 + %call24 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 12) #13 + %13 = load i16, ptr addrspace(4) %call24, align 2, !tbaa !99 + store i16 %13, ptr addrspace(4) %arrayinit.element23, align 2, !tbaa !99 + %arrayinit.element25 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 13 + %call26 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 13) #13 + %14 = load i16, ptr addrspace(4) %call26, align 2, !tbaa !99 + store i16 %14, ptr addrspace(4) %arrayinit.element25, align 2, !tbaa !99 + %arrayinit.element27 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 14 + %call28 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 14) #13 + %15 = load i16, ptr addrspace(4) %call28, align 2, !tbaa !99 + store i16 %15, ptr addrspace(4) %arrayinit.element27, align 2, !tbaa !99 + %arrayinit.element29 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 15 + %call30 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 15) #13 + %16 = load i16, ptr addrspace(4) %call30, align 2, !tbaa !99 + store i16 %16, ptr addrspace(4) %arrayinit.element29, align 2, !tbaa !99 + %arrayinit.element31 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 16 + %call32 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 16) #13 + %17 = load i16, ptr addrspace(4) %call32, align 2, !tbaa !99 + store i16 %17, ptr addrspace(4) %arrayinit.element31, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 + store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300518EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300518EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE429_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %t) #1 comdat !srcloc !1175 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret <3 x half> %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %t) #1 comdat !srcloc !1175 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 4 dereferenceable(4) %t.ascast) #13 + ret <2 x half> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp6 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + %2 = load i32, ptr %a2, align 2, !tbaa !69 + store i32 %2, ptr %agg.tmp6, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300145EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300145EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE144_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301038EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301038EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE773_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2343 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300771EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE594_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2344 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2344 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301080EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE815_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300540EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300540EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300594EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2347 + store float 0x3FDF307140000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2347 + store float 0x3FCEDECF80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2347 + store float 0x3FD15EDC40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2347 + store float 0x3FCE7D6F80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2347 + store float 0x3FC84E6040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2347 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2347 + store i32 12868, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2347 + store i32 -15967, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2347 + store i32 -8867, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2347 + store i32 25236, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2347 + store i32 -3649, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2347 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2347 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2347 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2347 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2347 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !2347 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2347 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(12) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2350 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300756EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE579_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH3838, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2351 + store half 0xH38B0, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2351 + call spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2354 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2355 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2355 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_truncDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300133EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE132_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2358 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300914EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300914EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE693_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300924EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE703_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2361 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2364 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300751EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE578_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1892.216, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2365 + store float 0x3FE5EFAAE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2365 + store float 0x3FC5015CE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2365 + store float 0x3FE1EF1E20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2365 + store float 0x3FD3B23E80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2365 + store float 0x3FD82288A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2365 + store float 0x3FE7C7DBE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2365 + store float 0x3FE9977640000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2365 + store float 0x3FE474F300000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2365 + store float 0x3FE6438540000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2365 + store float 0x3FEB727B60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2365 + store float 0x3FE1BAD380000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2365 + store float 0x3FE8C5FEC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2365 + store float 0x3FCC21C200000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2365 + store float 0x3FE96FC980000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2365 + store float 0x3FC16067C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2365 + store float 0x3FBDFF9020000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2365 + store float 0x3FD2059420000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2365 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2365 + store float 0x3FE7909180000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2365 + store float 0x3FE55AF9E0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2365 + store float 0x3FE9BDD180000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2365 + store float 0x3FD7EFC100000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2365 + store float 0x3FEA022780000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2365 + store float 0x3FE80D4A80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2365 + store float 0x3FDCA68C00000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2365 + store float 0x3FE9250AE0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2365 + store float 0x3FD71E7E40000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2365 + store float 0x3FE265EB80000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2365 + store float 0x3FD22CAEC0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2365 + store float 0x3FD4C6B6C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2365 + store float 0x3FE688CF00000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2365 + store float 0x3FE9F65FA0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2365 + store float 0x3FBA557280000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2365 + store float 0x3FE818A3E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2365 + store float 0x3FE8B52980000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2365 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2365 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2365 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2365 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2365 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !2365 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !2365 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2365 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300268EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE267_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2368 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2368 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300998EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300998EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE733_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1624 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300016EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE15_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2371 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE776_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2374 + store float 0x3FC0B6F280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2374 + store float 0x3FC2A7D6E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2374 + store float 0x3FC0EF8D00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2374 + store float 0x3FC13A1560000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2374 + store float 0x3FE3980780000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2374 + store float 0x3FDD1EFCA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2374 + store float 0x3FD37174E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2374 + store float 0x3FC7AE2CA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2374 + store float 0x3FEBDC7520000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2374 + store float 0x3FCAA16D00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2374 + store float 0x3FD967A660000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2374 + store float 0x3FEC1BC560000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2374 + store float 0x3FC02CD980000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2374 + store float 0x3FD8F784E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2374 + store float 0x3FE179AB60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2374 + store float 0x3FE7296780000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2374 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2374 + store float 0x3FDE31D760000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2374 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2374 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2374 + call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2374 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300531EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300531EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE442_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300060EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300060EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE59_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2377 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300583EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300583EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300637EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE504_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 61543428338731, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2378 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300753EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2381 + store float 0x3FD8EF7180000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2381 + store float 0x3FE7248360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2381 + store float 0x3FC17A4880000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2381 + store float 0x3FE2EBF300000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2381 + store float 0x3FD65D6C00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2381 + store float 0x3FDF935BC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2381 + store float 0x3FD5932780000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2381 + store float 0x3FDAB9AB80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2381 + store float 0x3FDBD43560000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2381 + store float 0x3FC975A9C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2381 + store float 0x3FE6304C00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2381 + store float 0x3FD809EAA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2381 + store float 0x3FC6767A20000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2381 + store float 0x3FE81B01E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2381 + store float 0x3FD18A04E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2381 + store float 0x3FE5C6DB00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2381 + store float 0x3FE26EE9E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2381 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2381 + store float 0x3FC0AEDA60000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2381 + store float 0x3FEB6DA4E0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2381 + store float 0x3FEC0A9020000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2381 + store float 0x3FE5F290C0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2381 + store float 0x3FC6549040000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2381 + store float 0x3FE50D6F80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2381 + store float 0x3FD03BC460000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2381 + store float 0x3FDE1FBAE0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2381 + store float 0x3FDFC445A0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2381 + store float 0x3FD36E5C80000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2381 + store float 0x3FE84E1880000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2381 + store float 0x3FC992E580000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2381 + store float 0x3FDEE28B60000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2381 + store float 0x3FE2B244E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2381 + store float 0x3FE67F2F60000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2381 + store float 0x3FE93B2920000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2381 + store float 0x3FE1D04460000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2381 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2381 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2381 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2381 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2381 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !2381 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2381 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i32 @_ZN4sycl3_V16detail20ConvertNonVectorTypeIiiEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS4_(ptr addrspace(4) noundef align 4 dereferenceable(4) %t) #1 comdat !srcloc !142 { +entry: + %0 = load i32, ptr addrspace(4) %t, align 4, !tbaa !126 + ret i32 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300901EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300901EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE680_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300325EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE324_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2384 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2384 + store float 0x3FE434A240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2384 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2384 + store float 0x3FE57DE500000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2384 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2384 + store float 0x3FE9A892C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2384 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2384 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2384 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2384 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2384 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2384 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2384 + store float 0x3FC5E18700000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2384 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2384 + store float 0x3FC98C22C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2384 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2384 + store float 0x3FDFD00F80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2384 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2384 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2384 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2384 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2384 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2384 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2384 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [3 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300801EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE624_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2387 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !2387 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1095 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2390 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_erfcDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300986EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE729_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1854.214, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2393 + store float 0x3FE191D9E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2393 + store float 0x3FDBB93380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2393 + store float 0x3FDB2456A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2393 + store float 0x3FD2E889C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2393 + store float 0x3FC5379FC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2393 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2393 + store float 0x3FE9897F60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2393 + store float 0x3FDC929320000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2393 + store float 0x3FCD41A5C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2393 + store float 0x3FCA42AD00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2393 + store float 0x3FE9F13520000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2393 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2393 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2393 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2393 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2393 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !2393 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !2393 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2393 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300739EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300739EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE574_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !971 { +entry: + %loadVec4 = load <4 x half>, ptr addrspace(4) %t, align 8 + %extractVec = shufflevector <4 x half> %loadVec4, <4 x half> poison, <3 x i32> + tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IDv3_DF16_vEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, <3 x half> noundef %extractVec) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm16EE6_S_refERA16_Kim(ptr addrspace(4) noundef align 4 dereferenceable(64) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300105EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300105EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE104_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301052EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE787_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300512EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE423_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2396 + store float 0x3FE61125E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2396 + store float 0x3FE2EB0960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2396 + store float 0x3FD643FDE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2396 + store float 0x3FE23E9C60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2396 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2396 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !2396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2396 + store i32 -18961, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2396 + store i32 -29862, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2396 + store i32 -28632, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2396 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2396 + store i32 -23423, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2396 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2396 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2396 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2396 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2396 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300904EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE683_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2399 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300638EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE505_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2402 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%union.anon) align 8 %t) #1 comdat !srcloc !1367 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr addrspace(1) %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1961 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2405 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300802EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE625_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 63519261800059, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2407 + store i64 58541289387440, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2407 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2410 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2410 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !2410 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !2410 + %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !2410 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp25 = alloca %"struct.std::array.139.16", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp25.ascast = addrspacecast ptr %ref.tmp25 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 26, ptr nonnull %ref.tmp25) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.139.16") align 2 %ref.tmp25.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm13EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(26) %ref.tmp25.ascast) #13 + call void @llvm.lifetime.end.p0(i64 26, ptr nonnull %ref.tmp25) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2414 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2415 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2417 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2417 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2417 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300189EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300189EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE188_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300930EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE709_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2418 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2418 + store float 0x3FE3128F20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2418 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2418 + store float 0x3FE8AD1EA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2418 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2418 + store float 0x3FE0496020000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2418 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2418 + store float 0x3FE9A4EB40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2418 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2418 + store float 0x3FD681C380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2418 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2418 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2418 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2418 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2418 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2418 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2418 + call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2418 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300417EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300417EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE372_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1225 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2421 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_exp2Dv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2424 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300973EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300973EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300726EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE569_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %result = alloca %struct.privatePtrCheck.1740.208, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2425 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2425 + store float 0x3FD661E640000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2425 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2425 + store float 0x3FE5DB23E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2425 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2425 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2425 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2425 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2425 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2425 + store float 0x3FDBDFE720000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2425 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2425 + store float 0x3FC35383C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2425 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2425 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2425 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2425 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2425 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2425 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !2425 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2425 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2425 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2425 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !2425 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !2425 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !2425 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !2425 + %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !2425 + store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !2425 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !2425 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2425 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2425 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2425 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i32, ptr %resArg, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300850EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2223, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300850EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300910EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE689_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH323A, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2428 + call spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !424 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2431 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2431 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !2431 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !2431 + %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fmodDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2434 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #4 comdat align 2 !srcloc !2435 { +entry: + store i64 %dim0, ptr addrspace(4) %this, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300688EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE555_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2436 + store float 0x3FD86DC7E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2436 + store float 0x3FE7200EC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2436 + store float 0x3FCBF8CC40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2436 + store float 0x3FDFDBC380000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2436 + store float 0x3FDFAFD700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2436 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2436 + store float 0x3FCFAE9DE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2436 + store float 0x3FD7201B40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2436 + store float 0x3FE4C62260000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2436 + store float 0x3FCCB6A9C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2436 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2436 + store float 0x3FE82855E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2436 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2436 + call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2436 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2436 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2439 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !239 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2440 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2440 + %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_logDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1089 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1198 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2443 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2443 + %call3.i = tail call spir_func noundef <16 x half> @_Z19__spirv_ocl_atan2piDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2446 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2447 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300997EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300997EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm3EE6_S_refERA3_Kim(ptr addrspace(4) noundef align 4 dereferenceable(12) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [3 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %value) #1 comdat align 2 !srcloc !2448 { +entry: + ret i32 %value +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300119EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300119EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE118_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm7EE6_S_refERA7_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(14) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_Z21__spirv_WorkgroupId_xv() #5 comdat !srcloc !2449 { +entry: + %0 = load i64, ptr addrspace(1) @__spirv_BuiltInWorkgroupId, align 32 + ret i64 %0 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300297EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300297EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE296_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300803EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE626_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2450 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !2450 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300245EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE244_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2453 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301022EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE757_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 60104705259725, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2456 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE798_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2459 + store float 0x3FE821D960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2459 + store float 0x3FBFAF57A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2459 + store float 0x3FCA6D7220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2459 + store float 0x3FE6B436E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2459 + store float 0x3FBD8DCDA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2459 + store float 0x3FC465FEE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2459 + store float 0x3FE9652780000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2459 + store float 0x3FE2CC3660000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2459 + store float 0x3FD26C0DC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2459 + store float 0x3FDDC74C20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2459 + store float 0x3FE5E42380000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2459 + store float 0x3FEC935F60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2459 + store float 0x3FDF780620000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2459 + store float 0x3FCFD7D160000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2459 + store float 0x3FE5B660E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2459 + store float 0x3FD611C320000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2459 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2459 + store float 0x3FE67BB820000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2459 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2459 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2459 + call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2459 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300188EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE187_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2462 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300511EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300511EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE422_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !2465 { +entry: + %call = tail call spir_func noundef i64 @_ZN7__spirvL21getGlobalInvocationIdILi0EEEmv() #13 + tail call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(4) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(4) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2466 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !256 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2468 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE17_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2469 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2469 + store float 0x3FE8D58020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2469 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2469 + store float 0x3FD2D7EAA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2469 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2469 + store float 0x3FE5ED1680000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2469 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2469 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2469 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2469 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2469 + call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2469 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1717 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2472 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_cospiDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE803_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2475 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300507EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300507EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE418_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(2) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(2) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(20) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !2479 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2481 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2482 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2482 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_cbrtDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300482EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300482EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE393_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1764 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.2215", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm5EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300509EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE420_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2156", align 64 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2485 + store <16 x i32> , ptr %agg.tmp2.i, align 64, !tbaa.struct !689, !noalias !2485 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300925EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE704_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2488 + call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300271EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE270_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2491 + store float 0x3FE27CAE00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2491 + store float 0x3FE7520940000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2491 + store float 0x3FDBD50540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2491 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2491 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2491 + store float 0x3FE21C33C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2491 + store float 0x3FD360A7C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2491 + store float 0x3FD669A860000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2491 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2491 + call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2491 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2491 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300122EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE121_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2494 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2497 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr addrspace(3) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2498 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1130 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300796EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300796EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE619_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300322EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300322EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE321_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE57_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2500 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2503 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2504 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2504 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2504 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2504 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_fdimDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(4) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2507 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1723 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2508 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2508 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_log10Dv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2511 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2044 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2512 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2513 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2514 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2515 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2517 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2519 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !617 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2520 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2520 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2520 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2520 + %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_powrDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2523 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !915 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %this, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + %0 = load i64, ptr %res_t, align 2, !tbaa !69 + store i64 %0, ptr addrspace(4) %this, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load i64, ptr %resArg_t, align 2, !tbaa !69 + store i64 %1, ptr addrspace(4) %resArg, align 2, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300204EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300204EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE203_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1986 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp3 = alloca %"class.sycl::_V1::marray.2202", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp3) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp3.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp3) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300089EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300089EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE88_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300694EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2525 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2525 + store half 0xH380E, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2525 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2525 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2525 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2525 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2264 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300997EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2528 + store float 0x3FDEECB700000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2528 + store float 0x3FEB930AA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2528 + store float 0x3FE33E1A40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2528 + store float 0x3FE5C71A00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2528 + store float 0x3FC53FEA20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2528 + store float 0x3FD438D460000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2528 + store float 0x3FD7EBA100000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2528 + store float 0x3FC5C87BC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2528 + store float 0x3FEAC28920000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2528 + store float 0x3FEA794A80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2528 + store float 0x3FCD110440000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2528 + store float 0x3FE37BD4E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2528 + store float 0x3FE7929F00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2528 + store float 0x3FE70A8F00000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2528 + store float 0x3FC177F6E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2528 + store float 0x3FE49FDEC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2528 + store float 0x3FCF35C9C0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2528 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2528 + store float 0x3FEBAFE420000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2528 + store float 0x3FE028FBA0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2528 + store float 0x3FD1B221A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2528 + store float 0x3FE09B4C20000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2528 + store float 0x3FE0D7BC00000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2528 + store float 0x3FD0917C60000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2528 + store float 0x3FD0F04560000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2528 + store float 0x3FEBD0E560000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2528 + store float 0x3FEC703340000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2528 + store float 0x3FCB80F100000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2528 + store float 0x3FCCA99AE0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2528 + store float 0x3FE005E880000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2528 + store float 0x3FD12BC400000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2528 + store float 0x3FE0B3ABE0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2528 + store float 0x3FE09D9240000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2528 + store float 0x3FD5AAAF20000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2528 + store float 0x3FD2F32E40000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2528 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2528 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2528 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2528 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2528 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !2528 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2528 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300574EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2531 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2531 + store float 0x3FE92321C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2531 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2531 + store float 0x3FD9CADF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2531 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2531 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2531 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2531 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2531 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2531 + store i32 9234, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !2531 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2531 + store i32 10553, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2531 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2531 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2531 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2531 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2531 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2531 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2531 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2531 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2531 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !2531 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2531 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2531 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2531 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 4, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2534 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2534 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !2534 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !2534 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !2534 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300693EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1520.196, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 + store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300693EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { +entry: + %arrayidx = getelementptr inbounds [2 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300894EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300894EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE673_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300330EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE329_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store i64 56471201003852, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2537 + store half 0xH38CD, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2537 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2540 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300011EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE10_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH374C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2542 + call spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300188EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300188EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE187_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300392EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300392EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE363_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !376 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2545 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2545 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2545 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2545 + %call7.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_hypotDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300652EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300652EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE519_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !617 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !2548 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !2548 + %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_powrDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300605EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE472_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2551 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14itemILi1ELb1EEC2ILb1EEERNSt9enable_ifIXT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEESE_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr addrspace(4) noundef align 8 dereferenceable(8) %extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %index, ptr addrspace(4) noundef align 8 dereferenceable(8) %offset) #4 comdat align 2 !srcloc !2554 { +entry: + %0 = load i64, ptr addrspace(4) %extent, align 8 + store i64 %0, ptr addrspace(4) %this, align 8 + %MIndex = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load i64, ptr addrspace(4) %index, align 8 + store i64 %1, ptr addrspace(4) %MIndex, align 8 + %MOffset = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + %2 = load i64, ptr addrspace(4) %offset, align 8 + store i64 %2, ptr addrspace(4) %MOffset, align 8 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !2555 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2556 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2556 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_asinDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <4 x i32> @_ZNK4sycl3_V13vecIiLi4EEcvDv4_iEv(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this) #1 comdat align 2 !srcloc !954 { +entry: + %0 = load <4 x i32>, ptr addrspace(4) %this, align 16, !tbaa !69 + ret <4 x i32> %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300236EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300236EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE235_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300414EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300414EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2133 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm1EE6_S_refERA1_Kim(ptr addrspace(4) noundef align 4 dereferenceable(4) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301054EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE789_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2559 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300812EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE635_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.1936.218, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2562 + store i32 -24231, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !2562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2562 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2562 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2562 + store half 0xH3295, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2562 + store half 0xH36CE, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2562 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2562 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2562 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp3.i) #14, !noalias !2562 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !2562 + store i16 %1, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !2562 + %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !2562 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i, i32 noundef %2) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2562 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2562 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2562 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 4, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 + %4 = load i32, ptr %resArg, align 4, !tbaa !1180 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300408EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2565 + store float 0x3FE0F00100000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2565 + store float 0x3FDFAC1EC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2565 + store float 0x3FBD0BD4A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2565 + store float 0x3FC1CB6FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2565 + store float 0x3FD007F2C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2565 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2565 + store float 0x3FDF9EA2A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2565 + store float 0x3FE40F07C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2565 + store float 0x3FE0898400000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2565 + store float 0x3FE1EAC2A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2565 + store float 0x3FEC985E40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2565 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2565 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2565 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2565 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2565 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !2565 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2565 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1507 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2568 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2568 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2568 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2568 + %call7.i = tail call spir_func noundef <3 x half> @_Z20__spirv_ocl_copysignDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2571 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2572 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300886EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE665_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2573 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2573 + store float 0x3FE87F2D20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2573 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2573 + store float 0x3FEC90F800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2573 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2573 + store float 0x3FD8711600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2573 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2573 + store float 0x3FD2CF7A40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2573 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2573 + store float 0x3FDD2833A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2573 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2573 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2573 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2573 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2573 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2573 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2573 + call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2573 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2576 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300109EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE108_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2577 + store float 0x3FCFEC7E40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2577 + store float 0x3FC2A2C560000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2577 + store float 0x3FE388E120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2577 + store float 0x3FCE8DB120000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2577 + store float 0x3FE2D601C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2577 + store float 0x3FE2E15300000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2577 + store float 0x3FE53EFCE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2577 + store float 0x3FE04F6BC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2577 + store float 0x3FD4F66700000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2577 + store float 0x3FE9A9B480000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2577 + store float 0x3FD87A2C60000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2577 + store float 0x3FDDDD5B00000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2577 + store float 0x3FE3604900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2577 + store float 0x3FE069AC20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2577 + store float 0x3FEBAF82C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2577 + store float 0x3FEBA409A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2577 + store float 0x3FEB007960000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2577 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2577 + call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2577 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2580 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300352EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2581 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2581 + store half 0xH373E, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2581 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2581 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2581 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2581 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300477EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300477EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE392_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2584 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300012EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE11_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2585 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !783 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2587 + %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_expDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300646EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300646EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE513_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300683EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE550_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2590 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2590 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300218EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300218EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE217_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300897EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE676_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2593 + store float 0x3FD431C5A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2593 + store float 0x3FD56E9A00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2593 + store float 0x3FCDB88CA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2593 + store float 0x3FE544C0C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2593 + store float 0x3FE6CEE5A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2593 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2593 + store i32 3049, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2593 + store i32 31465, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2593 + store i32 -6911, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2593 + store i32 26106, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2593 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2593 + store i32 -6916, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2593 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2593 + call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !2593 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2593 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300655EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE522_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2596 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2596 + store float 0x3FD9B54CE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2596 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2596 + store float 0x3FE9B663C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2596 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2596 + store float 0x3FEBD14940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2596 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2596 + store float 0x3FE6F55FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2596 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2596 + store float 0x3FE3A68EC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2596 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2596 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2596 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2596 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2596 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2596 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2596 + call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2596 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300641EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300641EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE508_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !699 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2599 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2599 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2599 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300147EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE146_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2600 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2600 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1087 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2603 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2604 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2605 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300794EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE617_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2606 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !2606 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301068EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE803_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300645EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300645EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE512_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300885EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE664_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2609 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2609 + store float 0x3FE0298720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2609 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2609 + store float 0x3FD6709D40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2609 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2609 + store float 0x3FE15D6EC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2609 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2609 + store float 0x3FEA2FE280000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2609 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2609 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2609 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2609 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2609 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2609 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2609 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2609 + call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2609 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !548 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2612 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2612 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_rintDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300800EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE623_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH2EC9, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2615 + store half 0xH39AE, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2615 + call spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm8EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(32) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(32) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300462EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2618 + store float 0x3FD27AEBC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2618 + store float 0x3FBD10E3C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2618 + store float 0x3FEB31B460000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2618 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2618 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2618 + store i32 -29913, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2618 + store i32 -2170, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2618 + store i32 10163, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2618 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2618 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2618 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2618 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2618 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !2618 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2618 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2618 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2618 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2621 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300577EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2623 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2623 + store float 0x3FD14B0620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2623 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2623 + store float 0x3FC8EA5840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2623 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2623 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2623 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2623 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2623 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2623 + store i32 9870, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !2623 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2623 + store i32 -30682, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2623 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2623 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2623 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2623 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2623 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2623 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2623 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2623 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2623 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !2623 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2623 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2623 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2623 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2626 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2626 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !2626 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !2626 + %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !2626 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !330 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300675EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE542_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2630 + store float 0x3FD0643E80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2630 + store float 0x3FE23B8820000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2630 + store float 0x3FE8300B20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2630 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2630 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2630 + store float 0x3FC7F4D4E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2630 + store float 0x3FE6E96E60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2630 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2630 + store float 0x3FE9136E00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2630 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2630 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2630 + call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2630 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2630 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE743_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2633 + store float 0x3FDFAAB240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2633 + store float 0x3FE0028640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2633 + store float 0x3FE3931120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2633 + store float 0x3FE8919FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2633 + store float 0x3FE99052A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2633 + store float 0x3FE82CA640000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2633 + store float 0x3FE8F418E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2633 + store float 0x3FC9E0BE20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2633 + store float 0x3FE0703840000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2633 + store float 0x3FE8575AC0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2633 + store float 0x3FE133BE40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2633 + store float 0x3FDCDD3A40000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2633 + store float 0x3FD8FB40A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2633 + store float 0x3FDBE18000000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2633 + store float 0x3FEC2FCF60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2633 + store float 0x3FD2AD5E40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2633 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2633 + store float 0x3FECBB8840000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2633 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2633 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2633 + call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2633 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %this, ptr align 2 %res_t, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr addrspace(4) %this, i64 0, i32 1 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %resArg, ptr align 4 %resArg_t, i64 12, i1 false), !tbaa.struct !1142 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { +entry: + %call = tail call spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0DF16_PU3AS0NS1_9half_impl4halfEEET_T0_(ptr noundef %call) #13 + ret ptr %call1 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2636 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2637 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2637 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2637 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2637 + %call3.i = tail call spir_func noundef half @_Z19__spirv_ocl_atan2piDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE802_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2640 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv21initLocalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !2643 { +entry: + tail call spir_func void @_ZN7__spirv28InitSizesSTLocalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300728EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1748.209, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 + store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300728EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300761EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE584_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2644 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !2644 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300060EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE59_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2647 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300099EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300099EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE98_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300252EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300252EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE251_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv22InitSizesSTWorkgroupIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !2650 { +entry: + %call = tail call spir_func noundef i64 @_ZN7__spirvL14getWorkgroupIdILi0EEEmv() #13 + tail call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300739EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE574_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.1816.212, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2651 + store float 0x3FEB96C6E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2651 + store float 0x3FDA31A0A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2651 + store float 0x3FD2641E60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2651 + store float 0x3FC854AFE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2651 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2651 + store float 0x3FCC324540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2651 + store float 0x3FCD91A340000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2651 + store float 0x3FD987F3E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2651 + store float 0x3FE1C47400000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2651 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2651 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2651 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2651 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2651 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2651 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2651 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2651 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !2651 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2651 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !2651 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !2651 + store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !2651 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2651 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300237EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE236_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2654 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2654 + store float 0x3FD25BBDA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2654 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2654 + store float 0x3FD31F25C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2654 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2654 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2654 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2654 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2654 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2654 + call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2654 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2498 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { +entry: + %arrayidx = getelementptr inbounds [3 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2657 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300074EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE73_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300039EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE38_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2658 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2659 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2659 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_atanDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2515 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE813_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2662 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300694EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300694EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300657EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300657EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE524_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2665 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300391EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300391EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300138EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300138EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE137_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !887 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300272EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300272EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE271_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300778EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE601_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH38E9, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2666 + call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, i32 noundef 8789) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300170EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE169_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2669 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300181EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300181EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE180_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301036EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE771_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp19 = alloca %"struct.std::array.2410", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp19.ascast = addrspacecast ptr %ref.tmp19 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %ref.tmp19) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2410") align 4 %ref.tmp19.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm10EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(40) %ref.tmp19.ascast) #13 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %ref.tmp19) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2672 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #4 comdat align 2 !srcloc !1947 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.2297", align 4 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIiLm4EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(16) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !997 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2673 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2673 + %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_atanpiDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2676 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1771 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300927EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE706_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2677 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2677 + store float 0x3FE5FFE300000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2677 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2677 + store float 0x3FC0323E40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2677 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2677 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2677 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2677 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2677 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2677 + call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2677 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2680 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300647EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE514_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2681 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300869EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300869EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300979EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300979EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300641EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE508_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2684 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2684 + store float 0x3FDE7979C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2684 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2684 + store float 0x3FC409AF80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2684 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2684 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2684 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2684 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2684 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2684 + call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2684 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm4EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2687 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300975EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300975EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE726_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300031EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE30_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2688 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2688 + store float 0x3FD4C7FDE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2688 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2688 + store float 0x3FD2B1D660000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2688 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2688 + store float 0x3FEB99A0E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2688 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2688 + store float 0x3FD86F1740000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2688 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2688 + store float 0x3FD523AC60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2688 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2688 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2688 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2688 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2688 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2688 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2688 + call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2688 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2691 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2692 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2692 + %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_expDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2695 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300419EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1945, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !2696 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300419EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !2699 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2700 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2700 + %call1.i = tail call spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %a1) #13, !noalias !2700 + %call2.i = tail call spir_func noundef half @_Z17__spirv_ocl_ldexpDF16_i(half noundef %call.i, i32 noundef %call1.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300588EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2703 + store float 0x3FDA54C7E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2703 + store float 0x3FD3B3DDA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2703 + store float 0x3FE0B37A20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2703 + store float 0x3FD7C4D680000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2703 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2703 + store i32 -14384, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2703 + store i32 10335, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2703 + store i32 -13115, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2703 + store i32 -16869, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2703 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2703 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2703 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2703 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2703 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !2703 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2703 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !2703 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2703 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a2) #2 comdat !srcloc !902 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + %2 = load i32, ptr %a2, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp3.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2706 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2706 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !2706 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !2706 + store i32 %2, ptr %agg.tmp3.i, align 4, !tbaa !69, !noalias !2706 + %call4.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp3.i) #13, !noalias !2706 + %call5.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_madDv2_DF16_S_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i, <2 x half> noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300738EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE573_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.1816.212, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2709 + store float 0x3FC6F90C20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2709 + store float 0x3FE7544340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2709 + store float 0x3FBD2B1280000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2709 + store float 0x3FE5315700000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2709 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2709 + store float 0x3FE81CB060000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2709 + store float 0x3FEB32DFE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2709 + store float 0x3FE886E4C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2709 + store float 0x3FE7E928C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2709 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2709 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2709 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2709 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2709 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2709 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2709 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2709 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !2709 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2709 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !2709 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !2709 + store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !2709 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2709 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %rhs) #4 comdat align 2 !srcloc !2712 !sycl_used_aspects !63 { +entry: + %0 = load float, ptr addrspace(4) %rhs, align 4, !tbaa !82 + %conv = fptrunc float %0 to half + store half %conv, ptr addrspace(4) %this, align 2, !tbaa !1216 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2713 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2714 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300307EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE306_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2715 + store float 0x3FCD8C4960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2715 + store float 0x3FE176FD20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2715 + store float 0x3FC5167A20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2715 + store float 0x3FE009A880000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2715 + store float 0x3FE4D43700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2715 + store float 0x3FDBE48360000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2715 + store float 0x3FD67C7000000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2715 + store float 0x3FE47273E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2715 + store float 0x3FEB24AF60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2715 + store float 0x3FE990A8E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2715 + store float 0x3FDA217F80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2715 + store float 0x3FE94D97C0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2715 + store float 0x3FC8945A00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2715 + store float 0x3FC2D02020000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2715 + store float 0x3FEC5E9D40000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2715 + store float 0x3FE6BAFFA0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2715 + store float 0x3FE2F196A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2715 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2715 + store float 0x3FE18139C0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2715 + store float 0x3FD636F020000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2715 + store float 0x3FEA376CC0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2715 + store float 0x3FE907C900000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2715 + store float 0x3FDF1055C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2715 + store float 0x3FD1AF0060000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2715 + store float 0x3FE4840600000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2715 + store float 0x3FE5CA5AA0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2715 + store float 0x3FECAF5980000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2715 + store float 0x3FE76F05C0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2715 + store float 0x3FC624C820000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2715 + store float 0x3FEC8AE060000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2715 + store float 0x3FE91355C0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2715 + store float 0x3FE21CD440000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2715 + store float 0x3FD757FB20000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2715 + store float 0x3FE5F683E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2715 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2715 + store float 0x3FE27937A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2715 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2715 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2715 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2715 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2718 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1538 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm12EE6_S_refERA12_Kim(ptr addrspace(4) noundef align 4 dereferenceable(48) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [12 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300479EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2719 + store float 0x3FECC05800000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2719 + store float 0x3FE87CFE60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2719 + store float 0x3FE9312EC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2719 + store float 0x3FD4E762A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2719 + store float 0x3FE9B3FD20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2719 + store float 0x3FE32A2120000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2719 + store float 0x3FE8D06AC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2719 + store float 0x3FE9DDEF00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2719 + store float 0x3FE3C19080000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2719 + store float 0x3FEC8DAA20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2719 + store float 0x3FD824BD00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2719 + store float 0x3FDD4803E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2719 + store float 0x3FE3BDB4C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2719 + store float 0x3FE13011C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2719 + store float 0x3FDACADC60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2719 + store float 0x3FD8648B40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2719 + store float 0x3FBAEDE600000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2719 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2719 + store i32 -29757, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2719 + store i32 28880, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2719 + store i32 23024, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2719 + store i32 -3874, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2719 + store i32 -25042, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2719 + store i32 7231, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2719 + store i32 -7247, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2719 + store i32 -4266, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2719 + store i32 -17724, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2719 + store i32 20302, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2719 + store i32 -17303, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2719 + store i32 -25730, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2719 + store i32 1619, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2719 + store i32 9009, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2719 + store i32 11765, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2719 + store i32 -26079, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2719 + store i32 26414, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !2719 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2719 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2719 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2719 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2719 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !2719 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2719 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300157EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE156_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2722 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300323EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300323EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE322_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301055EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301055EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE790_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.28.4", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !2018 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2725 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_cbrtDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2728 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300579EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300579EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE462_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300097EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE96_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2729 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2729 + store float 0x3FE3721340000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2729 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2729 + store float 0x3FDB0E0360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2729 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2729 + store float 0x3FE72181C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2729 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2729 + store float 0x3FE7609980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2729 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2729 + store float 0x3FD55D08A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2729 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2729 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2729 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2729 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2729 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2729 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2729 + call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2729 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300692EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1520.196, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 + store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300692EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { +entry: + br label %arrayinit.body + +arrayinit.body: ; preds = %arrayinit.body, %entry + %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] + %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx + store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 + %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 + %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 5 + br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body + +arrayinit.end2: ; preds = %arrayinit.body + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1345 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300980EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE727_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.1816.212, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2732 + store float 0x3FE184E700000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2732 + store float 0x3FC9645300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2732 + store float 0x3FE5C04D00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2732 + store float 0x3FEBD17FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2732 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2732 + store float 0x3FE374AF60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2732 + store float 0x3FD2909140000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2732 + store float 0x3FD60EBE00000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2732 + store float 0x3FD35FD320000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2732 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2732 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2732 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2732 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2732 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2732 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2732 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2732 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !2732 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2732 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !2732 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !2732 + store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !2732 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2732 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300190EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE189_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2735 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_Z23__spirv_WorkgroupSize_xv() #5 comdat !srcloc !2738 { +entry: + %0 = load i64, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, align 32 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300056EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE55_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !376 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2739 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2739 + %call3.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_hypotDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300596EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE467_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2401.238, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2742 + store float 0x3FDC103740000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2742 + store float 0x3FE124A3C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2742 + store float 0x3FE31E8BE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2742 + store float 0x3FE99BF0E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2742 + store float 0x3FC42B18C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2742 + store float 0x3FD215E540000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2742 + store float 0x3FD1741BC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2742 + store float 0x3FE39EB060000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2742 + store float 0x3FE3B64200000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2742 + store float 0x3FEC8F6660000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2742 + store float 0x3FE0F45840000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2742 + store float 0x3FCEB540E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2742 + store float 0x3FDB24EB80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2742 + store float 0x3FD2DB48C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2742 + store float 0x3FC5D6C6C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2742 + store float 0x3FE6C6AC00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2742 + store float 0x3FBC4AE9E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2742 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2742 + store i32 7635, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2742 + store i32 19945, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2742 + store i32 29444, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2742 + store i32 -24890, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2742 + store i32 -13769, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2742 + store i32 14988, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2742 + store i32 -16603, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2742 + store i32 7335, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2742 + store i32 -13686, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2742 + store i32 17439, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2742 + store i32 22274, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2742 + store i32 31116, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2742 + store i32 28738, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2742 + store i32 9664, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2742 + store i32 -10530, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2742 + store i32 -38, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2742 + store i32 12295, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !2742 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2742 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2742 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2742 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2742 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !2742 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !2742 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2742 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301008EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE743_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300092EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE91_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2745 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2748 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2750 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2751 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2752 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2753 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300778EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300778EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE601_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(12) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1961 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300887EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300887EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE666_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIiLm4EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(16) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %Arr, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %Arr, i64 noundef 1) #13 + %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element3 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 2 + %call4 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %Arr, i64 noundef 2) #13 + %3 = load i32, ptr addrspace(4) %call4, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element3, align 4, !tbaa !126 + %arrayinit.element5 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 3 + %call6 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %Arr, i64 noundef 3) #13 + %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element5, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2754 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2755 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2755 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_sinpiDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300396EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2758 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2758 + store float 0x3FD705CE60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2758 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2758 + store float 0x3FDD36E4E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2758 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2758 + store float 0x3FE5637C40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2758 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2758 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2758 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2758 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2758 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2758 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2758 + store float 0x3FE12F08C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2758 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2758 + store float 0x3FE6847600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2758 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2758 + store float 0x3FDAB0E460000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2758 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2758 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2758 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2758 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2758 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2758 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2758 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2758 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !2758 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2758 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2758 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2758 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300796EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE619_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2761 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2761 + store float 0x3FDD106420000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2761 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2761 + store float 0x3FE69CB6A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2761 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2761 + store float 0x3FDE7664C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2761 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2761 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2761 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2761 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2761 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2761 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2761 + store float 0x3FE05438A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2761 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2761 + store float 0x3FD5F99520000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2761 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2761 + store float 0x3FE988DB40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2761 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2761 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2761 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2761 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2761 + call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2761 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2761 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIiEPU3AS1T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2764 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPvi(ptr addrspace(4) noundef %Ptr, i32 noundef 5) #15 + ret ptr addrspace(1) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2765 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !2767 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this) #4 comdat align 2 !srcloc !569 { +entry: + br label %arrayinit.body + +arrayinit.body: ; preds = %arrayinit.body, %entry + %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] + %arrayinit.cur.ptr = getelementptr inbounds i32, ptr addrspace(4) %this, i64 %arrayinit.cur.idx + store i32 0, ptr addrspace(4) %arrayinit.cur.ptr, align 4, !tbaa !126 + %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 + %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 2 + br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body + +arrayinit.end2: ; preds = %arrayinit.body + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301038EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE773_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2769 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2769 + store float 0x3FBD6C4BE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2769 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2769 + store float 0x3FC82B07A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2769 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2769 + store float 0x3FE0CF0940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2769 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2769 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2769 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2769 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2769 + call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2769 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2772 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300784EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE607_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2773 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2773 + store float 0x3FC4242F00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2773 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2773 + store float 0x3FECA13F80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2773 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2773 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2773 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2773 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2773 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2773 + store i32 28344, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !2773 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2773 + store i32 6031, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2773 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2773 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2773 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2773 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2773 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2773 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !2773 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !69, !noalias !2773 + call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2773 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2773 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300452EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE383_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %result = alloca %struct.privatePtrCheck.2212.230, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2776 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2776 + store float 0x3FE6EC5720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2776 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2776 + store float 0x3FE3E3A960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2776 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2776 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2776 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2776 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2776 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2776 + store i32 -26653, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !2776 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2776 + store i32 16438, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2776 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2776 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2776 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2776 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2776 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2776 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !2776 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2776 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2776 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2776 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !2776 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !2776 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !2776 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !2776 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !2776 + store i64 %3, ptr %agg.tmp7.i, align 8, !tbaa !69, !noalias !2776 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !2776 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2776 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2776 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2776 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 4, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300094EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE93_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2779 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2779 + store float 0x3FEAC05E40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2779 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2779 + store float 0x3FCD8C4A40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2779 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2779 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2779 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2779 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2779 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2779 + call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2779 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2782 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2784 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300577EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300577EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300661EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300661EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE528_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !508 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm14EE6_S_refERA14_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(28) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300256EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300256EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE255_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300120EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300120EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE119_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayIiLm3EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !168 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !2785 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !2785 + %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fminDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300686EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300686EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE553_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300660EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300660EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE527_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2788 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300912EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE691_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 64399661021859, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2789 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300878EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE657_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2792 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300049EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE48_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2795 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2798 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !628 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2800 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_floorDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300029EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE28_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300518EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE429_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2803 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, i32 noundef 10839) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2806 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2807 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2807 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_atanhDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300026EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE25_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2810 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300350EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE349_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.195, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2813 + store i16 14054, ptr %multiPtrSourceData.i, align 2, !noalias !2813 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2813 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2813 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2813 + store half 0xH300B, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2813 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2813 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !2813 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !2813 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !2813 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !2813 + %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !2813 + store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !2813 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2813 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2813 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2813 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %4 = load i16, ptr %resArg, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IDv2_DF16_vEES7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, <2 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { +entry: + store <2 x half> %openclVector, ptr addrspace(4) %this, align 4, !tbaa !69 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300630EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300630EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE497_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2816 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EEC2EPU3AS0S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !2817 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !557 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2819 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2819 + %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_tanDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300791EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE614_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 52120313738234, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2822 + store i64 61844179728599, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2822 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2466 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2825 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2825 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2825 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2826 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300524EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE435_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2827 + store float 0x3FDD47FC20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2827 + store float 0x3FD0438D00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2827 + store float 0x3FD0F6DE40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2827 + store float 0x3FDE0BB820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2827 + store float 0x3FE75482C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2827 + store float 0x3FCD86DAC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2827 + store float 0x3FD1CBA200000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2827 + store float 0x3FDC707320000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2827 + store float 0x3FD496D820000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2827 + store float 0x3FD18EC9A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2827 + store float 0x3FE3CE72E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2827 + store float 0x3FDE129DA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2827 + store float 0x3FCA5B9140000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2827 + store float 0x3FDC8B2520000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2827 + store float 0x3FDD6291E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2827 + store float 0x3FE5D8FAC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2827 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2827 + store float 0x3FEA111840000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2827 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2827 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2827 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, i32 noundef -26095) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2827 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a2) #2 comdat !srcloc !2830 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + %2 = load i16, ptr %a2, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2831 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2831 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2831 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2831 + store i16 %2, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !2831 + %call4.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #13, !noalias !2831 + %call5.i = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %call.i, half noundef %call2.i, half noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE77_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2834 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !2834 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE807_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2837 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2837 + store float 0x3FD324DA40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2837 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2837 + store float 0x3FDEA84080000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2837 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2837 + store float 0x3FBBD80160000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2837 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2837 + store float 0x3FD56A5320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2837 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2837 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2837 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2837 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2837 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2837 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2837 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2837 + call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2837 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300145EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE144_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 51531983697365, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2840 + store i64 64756168407558, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2840 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300586EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2317, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300586EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300595EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300595EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv24InitSizesSTNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !2843 { +entry: + %call = tail call spir_func noundef i64 @_ZN7__spirvL16getNumWorkgroupsILi0EEEmv() #13 + tail call spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2844 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm17EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm17EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300800EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300800EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE623_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2845 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2846 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2846 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2846 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2846 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_powrDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm17EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm2EE6_S_refERA2_Kim(ptr addrspace(4) noundef align 4 dereferenceable(8) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [2 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300969EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300969EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE724_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300392EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE363_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1778.210, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2849 + store float 0x3FE8CC4560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2849 + store float 0x3FC25ED300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2849 + store float 0x3FC0B71060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2849 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2849 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2849 + store float 0x3FE612CB60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2849 + store float 0x3FC600B800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2849 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2849 + store float 0x3FE64EE1C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2849 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2849 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2849 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2849 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !2849 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2849 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !2849 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !2849 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2849 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm13EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(52) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(52) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300214EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE213_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2852 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2855 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2855 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !2855 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !2855 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !2855 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300005EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300005EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE4_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !2858 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE62_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2860 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2860 + store float 0x3FE8C38400000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2860 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2860 + store float 0x3FE21F9C00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2860 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2860 + store float 0x3FE5958C20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2860 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2860 + store float 0x3FE7DC5180000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2860 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2860 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2860 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2860 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2860 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2860 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2860 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2860 + call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2860 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2863 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300790EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE613_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2864 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !2864 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300239EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE238_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2867 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2867 + store float 0x3FE5B829E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2867 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2867 + store float 0x3FBAD484A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2867 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2867 + store float 0x3FDB20FBE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2867 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2867 + store float 0x3FE6C38240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2867 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2867 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2867 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2867 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2867 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2867 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2867 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2867 + call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2867 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !2018 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2870 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2870 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_cbrtDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300194EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE193_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2873 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2873 + store float 0x3FDC7210A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2873 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2873 + store float 0x3FDACC4640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2873 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2873 + store float 0x3FC4998540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2873 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2873 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2873 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2873 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2873 + call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2873 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2876 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !2878 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !2879 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !2878 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300349EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE348_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2880 + store float 0x3FE1878FA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2880 + store float 0x3FD93E1600000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2880 + store float 0x3FDC2F04E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2880 + store float 0x3FE7D6F840000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2880 + store float 0x3FE2475EE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2880 + store float 0x3FEC0B5E60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2880 + store float 0x3FE29F9260000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2880 + store float 0x3FD4E78C00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2880 + store float 0x3FE055F440000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2880 + store float 0x3FDE9CD1A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2880 + store float 0x3FE908EFC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2880 + store float 0x3FE6147A20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2880 + store float 0x3FE9BE3860000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2880 + store float 0x3FE5939100000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2880 + store float 0x3FD35E22E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2880 + store float 0x3FD45E3EA0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2880 + store float 0x3FCD92F060000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2880 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2880 + store float 0x3FE9B41700000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2880 + store float 0x3FEA3DFBA0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2880 + store float 0x3FD6F76C60000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2880 + store float 0x3FBE5B3000000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2880 + store float 0x3FDEAEB840000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2880 + store float 0x3FE761EC60000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2880 + store float 0x3FE53218A0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2880 + store float 0x3FE47ED620000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2880 + store float 0x3FBDE76260000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2880 + store float 0x3FC73C7500000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2880 + store float 0x3FE5DE3080000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2880 + store float 0x3FE827A820000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2880 + store float 0x3FCF758600000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2880 + store float 0x3FE8196DE0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2880 + store float 0x3FEB8D82E0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2880 + store float 0x3FE29A12C0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2880 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2880 + store float 0x3FE152F400000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2880 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2880 + call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2880 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2880 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300315EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300315EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE314_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300218EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE217_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2883 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2883 + store float 0x3FDFC6BA20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2883 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2883 + store float 0x3FEB70D4C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2883 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2883 + store float 0x3FE03AD760000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2883 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2883 + store float 0x3FD7DA45E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2883 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2883 + store float 0x3FC4BC7680000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2883 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2883 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2883 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2883 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2883 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2883 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2883 + call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2883 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !716 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2886 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2886 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_atanDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2889 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300276EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300276EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE275_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300355EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300355EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300584EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE463_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.2307.234, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2890 + store float 0x3FE2504940000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2890 + store float 0x3FE84BAE60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2890 + store float 0x3FB9E37360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2890 + store float 0x3FE8D916C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2890 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2890 + store i32 -10198, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2890 + store i32 -5157, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2890 + store i32 -30426, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2890 + store i32 28557, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2890 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2890 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2890 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2890 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2890 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2890 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2890 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2890 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !2890 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2890 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !2890 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2890 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300982EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1824.213, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300982EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp29 = alloca %"struct.std::array.135.14", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp29.ascast = addrspacecast ptr %ref.tmp29 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 30, ptr nonnull %ref.tmp29) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.135.14") align 2 %ref.tmp29.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm15EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(30) %ref.tmp29.ascast) #13 + call void @llvm.lifetime.end.p0(i64 30, ptr nonnull %ref.tmp29) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemoryRange) #4 comdat align 2 !srcloc !2893 { +entry: + %0 = load i64, ptr %Offset, align 8 + store i64 %0, ptr addrspace(4) %this, align 8 + %AccessRange3 = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load i64, ptr %AccessRange, align 8 + store i64 %1, ptr addrspace(4) %AccessRange3, align 8 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + %2 = load i64, ptr %MemoryRange, align 8 + store i64 %2, ptr addrspace(4) %MemRange, align 8 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.40.5", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1266 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %t) #1 comdat !srcloc !1175 { +entry: + %t.addr = alloca <8 x half>, align 16 + %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) + store <8 x half> %t, ptr %t.addr, align 16, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr addrspace(4) noundef align 16 dereferenceable(16) %t.addr.ascast) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef nonnull align 4 dereferenceable(68) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2894 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2895 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300871EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE654_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp35.i = alloca i32, align 4 + %ref.tmp36.i = alloca i32, align 4 + %ref.tmp37.i = alloca i32, align 4 + %ref.tmp38.i = alloca i32, align 4 + %ref.tmp39.i = alloca i32, align 4 + %ref.tmp40.i = alloca i32, align 4 + %ref.tmp41.i = alloca i32, align 4 + %ref.tmp42.i = alloca i32, align 4 + %ref.tmp43.i = alloca i32, align 4 + %ref.tmp44.i = alloca i32, align 4 + %ref.tmp45.i = alloca i32, align 4 + %ref.tmp46.i = alloca i32, align 4 + %ref.tmp47.i = alloca i32, align 4 + %ref.tmp48.i = alloca i32, align 4 + %ref.tmp49.i = alloca i32, align 4 + %ref.tmp50.i = alloca i32, align 4 + %ref.tmp51.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp53.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2401.238, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp53.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) + %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) + %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) + %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) + %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) + %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) + %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) + %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) + %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) + %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) + %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) + %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) + %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) + %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) + %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) + %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) + %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2897 + store float 0x3FEAAFBE60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2897 + store float 0x3FDE3A0960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2897 + store float 0x3FEA525F80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2897 + store float 0x3FCE0829C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2897 + store float 0x3FD97B82A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2897 + store float 0x3FEBB9F960000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2897 + store float 0x3FE447CFA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2897 + store float 0x3FE20E39C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2897 + store float 0x3FD944A600000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2897 + store float 0x3FE9BDEDE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2897 + store float 0x3FE27897E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2897 + store float 0x3FC6F6D880000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2897 + store float 0x3FE3ACE300000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2897 + store float 0x3FE72E4740000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2897 + store float 0x3FE8A6BE40000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2897 + store float 0x3FD58F5320000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2897 + store float 0x3FEC8A1760000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2897 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2897 + store float 0x3FCABC6E80000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2897 + store float 0x3FD5084AE0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2897 + store float 0x3FC8EED540000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2897 + store float 0x3FC78461A0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2897 + store float 0x3FE04E8C00000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2897 + store float 0x3FE1FC8160000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2897 + store float 0x3FCEC181C0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2897 + store float 0x3FE4C7A060000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2897 + store float 0x3FE9A51680000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2897 + store float 0x3FE4F38BE0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2897 + store float 0x3FD085CEC0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2897 + store float 0x3FE365C180000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2897 + store float 0x3FEBC462C0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2897 + store float 0x3FDB3EEC00000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2897 + store float 0x3FEB213D00000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2897 + store float 0x3FE5AE28A0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2897 + store float 0x3FDDBBDAE0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2897 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !2897 + store i32 -6823, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !2897 + store i32 27050, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !2897 + store i32 27898, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !2897 + store i32 -28744, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !2897 + store i32 -21105, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !2897 + store i32 -14842, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !2897 + store i32 15561, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !2897 + store i32 21657, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !2897 + store i32 4083, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !2897 + store i32 -11869, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !2897 + store i32 -25549, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !2897 + store i32 8423, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !2897 + store i32 9353, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !2897 + store i32 7109, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !2897 + store i32 -12502, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !2897 + store i32 5526, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !2897 + store i32 -11151, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !2897 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2897 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2897 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2897 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2897 + store i64 %0, ptr %agg.tmp53.i, align 8, !tbaa !128, !noalias !2897 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp53.i) #14, !noalias !2897 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2897 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp53.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2900 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2902 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2903 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2904 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300470EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE389_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2354.236, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2905 + store float 0x3FCC731520000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2905 + store float 0x3FD8B66FA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2905 + store float 0x3FDBA91AA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2905 + store float 0x3FD5C33400000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2905 + store float 0x3FE6D8E880000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2905 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2905 + store i32 9470, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2905 + store i32 23274, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2905 + store i32 -10364, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2905 + store i32 26424, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2905 + store i32 -14688, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2905 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2905 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2905 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2905 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2905 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !2905 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !2905 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2905 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE749_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2908 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1032 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300849EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2223, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300849EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1225 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2911 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2911 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_exp2Dv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300603EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300603EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE470_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300088EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE87_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH38C3, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2914 + call spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2917 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300186EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300186EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE185_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm4EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1799 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2918 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300342EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300342EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE341_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301056EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE791_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300617EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300617EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE484_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !2919 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2922 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm17EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2923 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2924 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2924 + %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_tgammaDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1538 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(68) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2927 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300928EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE707_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2928 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2928 + store float 0x3FCFC05060000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2928 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2928 + store float 0x3FE5A2D320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2928 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2928 + store float 0x3FE9D9C840000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2928 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2928 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2928 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2928 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2928 + call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2928 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE46_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2931 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(18) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 7) #13 + %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 + %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 8) #13 + %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 + store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayIiLm5EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301043EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE778_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2934 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300077EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE76_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH3929, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2937 + store half 0xH39FC, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2937 + call spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %agg.result, i64 noundef %mul) #13 + %1 = load i64, ptr %PartialRes, align 8 + store i64 %1, ptr addrspace(4) %call, align 4 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2940 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.1972") align 8 %a1) #2 comdat !srcloc !635 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.1972", align 8 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2941 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2941 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2941 + %call2.i = tail call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp1.i) #13, !noalias !2941 + %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_pownDv2_DF16_Dv2_i(<2 x half> noundef %call.i, <2 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm5EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp9, align 2, !tbaa !99 + %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp11, align 2, !tbaa !99 + %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a2.ascast, i64 noundef 4) #13 + %2 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp13, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 + %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call15, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a2, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %4 = load i32, ptr %PartialRes, align 4 + store i32 %4, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2945 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300333EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300333EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE332_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300467EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2946 + store float 0x3FD16B7680000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2946 + store float 0x3FE25E1BE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2946 + store float 0x3FD0BB4BA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2946 + store float 0x3FDE5116C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2946 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2946 + store i32 -19420, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2946 + store i32 25250, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2946 + store i32 -6993, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2946 + store i32 13305, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2946 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2946 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2946 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2946 + %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2946 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !2946 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2946 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !2946 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2946 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2919 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300013EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE12_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300471EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE390_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2354.236, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2949 + store float 0x3FE42C1EA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2949 + store float 0x3FCB1790A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2949 + store float 0x3FE1096240000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2949 + store float 0x3FE3520420000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2949 + store float 0x3FD6A3BB20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2949 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2949 + store i32 -28833, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2949 + store i32 -13779, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2949 + store i32 14073, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2949 + store i32 9891, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2949 + store i32 -6097, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2949 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2949 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2949 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2949 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2949 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !2949 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !2949 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2949 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE765_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2952 + store float 0x3FE14C8DA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2952 + store float 0x3FC3E61480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2952 + store float 0x3FE528FDA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2952 + store float 0x3FDEBE5D00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2952 + store float 0x3FE09A7F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2952 + store float 0x3FE6B88920000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2952 + store float 0x3FE1F97B20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2952 + store float 0x3FC5615F00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2952 + store float 0x3FD9B816C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2952 + store float 0x3FE1FDBC20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2952 + store float 0x3FCF99CB00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2952 + store float 0x3FCBA63A40000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2952 + store float 0x3FE2142A00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2952 + store float 0x3FDA0D56A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2952 + store float 0x3FE76041A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2952 + store float 0x3FBB448660000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2952 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2952 + store float 0x3FE1D08DE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2952 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2952 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2952 + call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2952 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300009EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300009EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE8_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300614EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300614EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE481_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300095EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE94_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2955 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2955 + store float 0x3FDBA3AA40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2955 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2955 + store float 0x3FD53B7340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2955 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2955 + store float 0x3FE081FC20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2955 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2955 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2955 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2955 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2955 + call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2955 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2958 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJLm0ELm1EEEERKSt5arrayIS4_Lm2EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, ptr addrspace(4) noundef align 2 dereferenceable(4) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %Arr, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %Arr, i64 noundef 1) #13 + %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301055EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE790_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 59331623401865, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2959 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2962 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300506EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE417_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2018", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store i64 60817699254823, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2963 + call void @llvm.memcpy.p0.p1.i64(ptr align 16 %agg.tmp2.i, ptr addrspace(1) align 16 @__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE417_clEv.inputData_1, i64 16, i1 false), !noalias !2963 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !2966 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300096EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300096EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE95_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1089 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300666EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300666EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE533_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300793EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300793EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE616_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !208 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2967 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2967 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_log1pDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(20) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2970 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1730 + ret ptr addrspace(3) %0 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1756 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300899EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE678_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH34A0, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2971 + call spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301076EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE811_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2974 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301037EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301037EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE772_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1900 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !2977 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm3EE6_S_refERA3_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(6) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [3 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300756EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300756EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE579_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1233 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2978 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2979 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2980 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300530EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300530EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE441_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a2) #2 comdat !srcloc !2981 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + %2 = load i16, ptr %a2, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2982 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2982 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2982 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2982 + store i16 %2, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !2982 + %call4.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #13, !noalias !2982 + %call5.i = tail call spir_func noundef half @_Z15__spirv_ocl_madDF16_DF16_DF16_(half noundef %call.i, half noundef %call2.i, half noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300037EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300037EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE36_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300741EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2985 + store float 0x3FE77F5760000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2985 + store float 0x3FC3A5D900000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2985 + store float 0x3FD82A18C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2985 + store float 0x3FE7BDD180000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2985 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2985 + store float 0x3FE00C1E60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2985 + store float 0x3FE49BD700000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2985 + store float 0x3FDB2D6780000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2985 + store float 0x3FC61059E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2985 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2985 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2985 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2985 + %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2985 + store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !2985 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2985 + store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !2985 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2985 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300168EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE167_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2988 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300597EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE468_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2401.238, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2991 + store float 0x3FEA1EB1C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2991 + store float 0x3FE30A8E20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2991 + store float 0x3FCE63F0E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2991 + store float 0x3FDB35FDC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2991 + store float 0x3FD9F8B620000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2991 + store float 0x3FE782FFC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2991 + store float 0x3FE8D84D20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2991 + store float 0x3FE1188CA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2991 + store float 0x3FDB43C120000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2991 + store float 0x3FDD179C80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2991 + store float 0x3FC4F35D20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2991 + store float 0x3FE4D1D260000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2991 + store float 0x3FDA0449C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2991 + store float 0x3FBEBE9440000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2991 + store float 0x3FE4FB3700000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2991 + store float 0x3FE6CDB6A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2991 + store float 0x3FD1B9DCE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2991 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2991 + store i32 -31369, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2991 + store i32 -31600, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2991 + store i32 5555, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2991 + store i32 -32688, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2991 + store i32 -24685, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2991 + store i32 -1237, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2991 + store i32 10674, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2991 + store i32 14672, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2991 + store i32 13197, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2991 + store i32 -21730, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2991 + store i32 3964, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2991 + store i32 -29928, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2991 + store i32 -14917, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2991 + store i32 -24994, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2991 + store i32 -23728, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2991 + store i32 11004, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2991 + store i32 -22766, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !2991 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2991 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2991 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2991 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2991 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !2991 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !2991 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2991 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300472EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2994 + store float 0x3FC95298E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2994 + store float 0x3FEAAF11E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2994 + store float 0x3FD8FA3BC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2994 + store float 0x3FC1C08240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2994 + store float 0x3FE513E600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2994 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2994 + store i32 -2561, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2994 + store i32 -30606, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2994 + store i32 26864, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2994 + store i32 29620, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2994 + store i32 -24172, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2994 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2994 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2994 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2994 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2994 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !2994 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2994 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2415 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300387EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300387EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE362_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2997 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE793_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2999 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3002 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3003 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3003 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3003 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !3003 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS3i(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !3003 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300590EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE465_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2354.236, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3006 + store float 0x3FDEA0B0A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3006 + store float 0x3FD67EE200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3006 + store float 0x3FD1BCB9A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3006 + store float 0x3FE75876E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3006 + store float 0x3FCE08DBC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3006 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3006 + store i32 -6090, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3006 + store i32 26832, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3006 + store i32 -8243, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3006 + store i32 30755, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3006 + store i32 -15638, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !3006 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3006 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3006 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !3006 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3006 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !3006 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !3006 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3006 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300142EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300142EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE141_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300346EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE345_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3009 + store float 0x3FE9F42B00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3009 + store float 0x3FC74805E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3009 + store float 0x3FE2FB95C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3009 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3009 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3009 + store float 0x3FE6281080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3009 + store float 0x3FD2FC9AA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3009 + store float 0x3FE89E64A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3009 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3009 + call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3009 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3009 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300873EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp35.i = alloca i32, align 4 + %ref.tmp36.i = alloca i32, align 4 + %ref.tmp37.i = alloca i32, align 4 + %ref.tmp38.i = alloca i32, align 4 + %ref.tmp39.i = alloca i32, align 4 + %ref.tmp40.i = alloca i32, align 4 + %ref.tmp41.i = alloca i32, align 4 + %ref.tmp42.i = alloca i32, align 4 + %ref.tmp43.i = alloca i32, align 4 + %ref.tmp44.i = alloca i32, align 4 + %ref.tmp45.i = alloca i32, align 4 + %ref.tmp46.i = alloca i32, align 4 + %ref.tmp47.i = alloca i32, align 4 + %ref.tmp48.i = alloca i32, align 4 + %ref.tmp49.i = alloca i32, align 4 + %ref.tmp50.i = alloca i32, align 4 + %ref.tmp51.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp54.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp54.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) + %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) + %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) + %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) + %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) + %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) + %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) + %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) + %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) + %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) + %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) + %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) + %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) + %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) + %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) + %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) + %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3012 + store float 0x3FE9715860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3012 + store float 0x3FD0353120000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3012 + store float 0x3FE3609B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3012 + store float 0x3FDA27F0A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3012 + store float 0x3FD2C3F580000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3012 + store float 0x3FE6932300000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3012 + store float 0x3FE06227C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3012 + store float 0x3FE9743E20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3012 + store float 0x3FEAD23EA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3012 + store float 0x3FDC5AFB60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3012 + store float 0x3FE2E08000000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3012 + store float 0x3FDD02CD60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3012 + store float 0x3FE15C7340000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3012 + store float 0x3FEAB73020000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3012 + store float 0x3FE44F6580000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3012 + store float 0x3FD9164160000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3012 + store float 0x3FD0FCF2C0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3012 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3012 + store float 0x3FC4DF76A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3012 + store float 0x3FE311E9C0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3012 + store float 0x3FEC1BA540000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3012 + store float 0x3FD38E8240000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3012 + store float 0x3FC7843120000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3012 + store float 0x3FC233C560000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3012 + store float 0x3FE0A008C0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3012 + store float 0x3FD8590760000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3012 + store float 0x3FE59CC280000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3012 + store float 0x3FDBF53940000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3012 + store float 0x3FE07F68C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3012 + store float 0x3FD4341740000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3012 + store float 0x3FBE339B80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3012 + store float 0x3FE02466C0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3012 + store float 0x3FBBCFB800000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3012 + store float 0x3FC5C3C9A0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3012 + store float 0x3FD27B4020000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3012 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !3012 + store i32 18114, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !3012 + store i32 27904, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !3012 + store i32 -480, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !3012 + store i32 -10611, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !3012 + store i32 13974, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !3012 + store i32 -12569, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !3012 + store i32 -14218, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !3012 + store i32 10908, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !3012 + store i32 -10276, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !3012 + store i32 17638, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !3012 + store i32 12372, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !3012 + store i32 12972, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !3012 + store i32 8282, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !3012 + store i32 19140, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !3012 + store i32 -12097, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !3012 + store i32 24911, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !3012 + store i32 18283, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !3012 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !3012 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3012 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3012 + %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !3012 + store i64 %1, ptr %agg.tmp54.i, align 8, !tbaa !128, !noalias !3012 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp54.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3012 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp54.i) + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3016 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3018 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3019 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3018 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300916EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE695_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3020 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3020 + store float 0x3FD35AE4E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3020 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3020 + store float 0x3FE80F3020000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3020 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3020 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3020 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3020 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3020 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3020 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3020 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300464EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300464EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE387_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300280EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300280EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE279_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300732EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300732EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE571_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3024 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3025 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm11EE6_S_refERA11_Kim(ptr addrspace(4) noundef align 4 dereferenceable(44) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [11 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3026 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300139EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300139EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE138_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301061EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE796_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1357 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3028 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3028 + %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_acospiDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300768EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE591_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3031 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !3031 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300769EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300769EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE592_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300412EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1900.217, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300412EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300656EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE523_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3034 + store float 0x3FD3FAEF80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3034 + store float 0x3FD3F31440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3034 + store float 0x3FDD3ABD60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3034 + store float 0x3FDB535080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3034 + store float 0x3FE5449940000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3034 + store float 0x3FDBCBD5A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3034 + store float 0x3FE9E25BE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3034 + store float 0x3FC74816A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3034 + store float 0x3FCC0FEA40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3034 + store float 0x3FE6C29B20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3034 + store float 0x3FE9C0AF00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3034 + store float 0x3FE0C90480000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3034 + store float 0x3FE16D0BC0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3034 + store float 0x3FE2104B40000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3034 + store float 0x3FE7F25340000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3034 + store float 0x3FE8C1C1A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3034 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3034 + store float 0x3FD6ABFFE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3034 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3034 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3034 + call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3034 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3037 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300576EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3038 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3038 + store float 0x3FE89D6400000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3038 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3038 + store float 0x3FEA888420000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3038 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3038 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3038 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3038 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3038 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3038 + store i32 -13410, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !3038 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3038 + store i32 31168, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3038 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3038 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3038 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3038 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3038 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3038 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3038 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3038 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3038 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !3038 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3038 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3038 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3038 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300272EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE271_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3041 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3041 + store float 0x3FE7E63EC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3041 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3041 + store float 0x3FDF7659A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3041 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3041 + store float 0x3FDD6110C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3041 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3041 + store float 0x3FC9622040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3041 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3041 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3041 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3041 + store float 0x3FD992AA40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3041 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3041 + store float 0x3FE087CC20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3041 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3041 + store float 0x3FD23A5320000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3041 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3041 + store float 0x3FE7E21620000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3041 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3041 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3041 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3041 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !3041 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3041 + call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3041 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300679EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300679EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE546_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm4EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(8) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(8) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3044 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3045 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !2018 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3046 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_cbrtDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3049 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300535EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300535EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE446_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300140EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE139_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3050 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3050 + store float 0x3FE6FC8F00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3050 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3050 + store float 0x3FE1CE0640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3050 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3050 + store float 0x3FD3D65700000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3050 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3050 + store float 0x3FE4C87FA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3050 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3050 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3050 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3050 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3050 + call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3050 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3053 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300059EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE58_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3054 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %t) #1 comdat !srcloc !971 { +entry: + %0 = load <2 x half>, ptr addrspace(4) %t, align 4, !tbaa !69 + tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IDv2_DF16_vEES7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, <2 x half> noundef %0) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(6) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3057 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %t) #1 comdat !srcloc !1367 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + %call5 = call spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %agg.result, i64 noundef 4) #13 + store i32 %call5, ptr addrspace(4) %call6, align 4, !tbaa !126 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %agg.result, i64 noundef %mul) #13 + %1 = load i64, ptr %PartialRes, align 8 + store i64 %1, ptr addrspace(4) %call, align 4 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3058 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300813EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1945, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !1412 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300813EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300505EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300505EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE416_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !183 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3059 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3059 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3059 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3059 + %call3.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_powDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE792_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3062 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300159EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300159EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE158_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300072EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE71_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm5EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !843 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3065 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3065 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_truncDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3068 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300968EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE723_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %result = alloca %struct.privatePtrCheck.1740.208, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3069 + store float 0x3FECBAB240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3069 + store float 0x3FDF0BEF40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3069 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3069 + store float 0x3FD26DE980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3069 + store float 0x3FE073E9C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3069 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3069 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3069 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3069 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3069 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3069 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3069 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3069 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !3069 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !3069 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !3069 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !3069 + %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !3069 + store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !3069 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3069 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3069 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i32, ptr %resArg, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300861EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2317, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300861EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3072 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301009EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301009EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE744_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <8 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_iNS0_3vecIiLi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 32 dereferenceable(32) %t) #1 comdat !srcloc !142 { +entry: + %call = tail call spir_func noundef <8 x i32> @_ZNK4sycl3_V13vecIiLi8EEcvDv8_iEv(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %t) #13 + ret <8 x i32> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300742EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3073 + store float 0x3FBF479660000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3073 + store float 0x3FEAF387E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3073 + store float 0x3FE9EEAAE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3073 + store float 0x3FE0467260000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3073 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3073 + store float 0x3FDB73D380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3073 + store float 0x3FC6D05EC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3073 + store float 0x3FE88C71E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3073 + store float 0x3FE748EC40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3073 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3073 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3073 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3073 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3073 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3073 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3073 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3073 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3073 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300073EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE72_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3076 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE769_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3078 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300154EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE153_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH39B2, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3081 + call spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3084 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !208 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3085 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3085 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_log1pDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3088 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(12) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3089 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(26) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 7) #13 + %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 + %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 8) #13 + %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 + store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 + %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 9) #13 + %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 + store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 + %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 10) #13 + %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 + store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 + %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 11) #13 + %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 + store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 + %arrayinit.element24 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 13 + %call25 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 12) #13 + %15 = load i16, ptr addrspace(4) %call25, align 2, !tbaa !99 + store i16 %15, ptr addrspace(4) %arrayinit.element24, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300043EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE42_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3090 + store float 0x3FE088BE80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3090 + store float 0x3FE3DC2C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3090 + store float 0x3FD82B4B20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3090 + store float 0x3FE9850C00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3090 + store float 0x3FD4A792C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3090 + store float 0x3FBD676E00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3090 + store float 0x3FC0F6C360000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3090 + store float 0x3FE4A22E40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3090 + store float 0x3FE17E70A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3090 + store float 0x3FEB6E3300000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3090 + store float 0x3FEB395A40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3090 + store float 0x3FEA7E0020000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3090 + store float 0x3FC119EC80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3090 + store float 0x3FE660BAE0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3090 + store float 0x3FE5276700000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3090 + store float 0x3FE3FA2E00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3090 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3090 + store float 0x3FE56FB500000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3090 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3090 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3090 + call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3090 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300995EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3093 + store float 0x3FE178FEC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3093 + store float 0x3FE3040540000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3093 + store float 0x3FE0DAFB80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3093 + store float 0x3FE23C2A40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3093 + store float 0x3FD817D900000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3093 + store float 0x3FE7629520000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3093 + store float 0x3FE79EFB20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3093 + store float 0x3FEB550640000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3093 + store float 0x3FC3898760000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3093 + store float 0x3FEAC28560000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3093 + store float 0x3FEB641440000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3093 + store float 0x3FE7AAC7A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3093 + store float 0x3FEA169080000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3093 + store float 0x3FE2B640E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3093 + store float 0x3FDE4D0300000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3093 + store float 0x3FEC61D480000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3093 + store float 0x3FE3017440000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3093 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3093 + store float 0x3FE988D3A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3093 + store float 0x3FE4C56640000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3093 + store float 0x3FC03BF500000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3093 + store float 0x3FD4400CE0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3093 + store float 0x3FE8CD6F40000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3093 + store float 0x3FEAFB65C0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3093 + store float 0x3FD5873EC0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3093 + store float 0x3FC2A1C060000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3093 + store float 0x3FD648E040000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3093 + store float 0x3FD98BD1A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3093 + store float 0x3FE3239540000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3093 + store float 0x3FEAD67EE0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3093 + store float 0x3FD03833A0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3093 + store float 0x3FD3117620000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3093 + store float 0x3FEBE4BC80000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3093 + store float 0x3FD4173AC0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3093 + store float 0x3FE206F980000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3093 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3093 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3093 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3093 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3093 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3093 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3093 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3096 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3097 + %call.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3097 + store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3097 + %call2.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !3097 + %call7.i = call spir_func noundef <3 x half> @_Z16__spirv_ocl_fminDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300572EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE459_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %result = alloca %struct.privatePtrCheck.2212.230, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3100 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3100 + store float 0x3FD36054A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3100 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3100 + store float 0x3FE053A700000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3100 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3100 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3100 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3100 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3100 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3100 + store i32 8508, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !3100 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3100 + store i32 -5433, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3100 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3100 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3100 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3100 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3100 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3100 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3100 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3100 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3100 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3100 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !3100 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !3100 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !3100 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !3100 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !3100 + store i64 %3, ptr %agg.tmp7.i, align 8, !tbaa !69, !noalias !3100 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3100 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3100 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3100 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3100 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 4, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300624EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300624EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE491_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3103 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2876 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300463EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3104 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3104 + store float 0x3FD38001E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3104 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3104 + store float 0x3FC2B334C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3104 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3104 + store float 0x3FE6B54B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3104 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3104 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3104 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3104 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3104 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3104 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3104 + store i32 22718, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3104 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3104 + store i32 -2119, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3104 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3104 + store i32 1944, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3104 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3104 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3104 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3104 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3104 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3104 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3104 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3104 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !3104 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3104 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3104 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3104 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300642EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE509_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3107 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3107 + store float 0x3FD0A17500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3107 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3107 + store float 0x3FE633F6E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3107 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3107 + store float 0x3FD63AC540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3107 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3107 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3107 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3107 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3107 + call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3107 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300453EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE384_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %result = alloca %struct.privatePtrCheck.2212.230, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3110 + store float 0x3FDE742E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3110 + store float 0x3FD12552C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3110 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3110 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3110 + store i32 2280, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !3110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3110 + store i32 -30372, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3110 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3110 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3110 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3110 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3110 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3110 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3110 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3110 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !3110 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !3110 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !3110 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !3110 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !3110 + store i64 %3, ptr %agg.tmp7.i, align 8, !tbaa !69, !noalias !3110 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3110 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3110 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3110 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 4, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300219EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300219EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE218_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !3113 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3115 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3116 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3118 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3119 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3118 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !296 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3120 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3120 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3120 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3120 + %call3.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_maxmagDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300008EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE7_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300402EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3123 + store float 0x3FEAD85840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3123 + store float 0x3FE3A01480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3123 + store float 0x3FCAFFCC60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3123 + store float 0x3FDBE97E40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3123 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3123 + store float 0x3FEBC359E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3123 + store float 0x3FCA570500000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3123 + store float 0x3FEB156020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3123 + store float 0x3FD8CF7660000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3123 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3123 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3123 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3123 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3123 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3123 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3123 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3123 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3123 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2110") align 32 %a1) #2 comdat !srcloc !1202 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2110", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x i32>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <8 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !3126 + %call2.i = tail call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp13) #13, !noalias !3126 + %call3.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_rootnDv8_DF16_Dv8_i(<8 x half> noundef %call.i, <8 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1852 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3129 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3129 + %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_sinDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1507 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3132 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3132 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3132 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3132 + %call3.i = tail call spir_func noundef <2 x half> @_Z20__spirv_ocl_copysignDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300077EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300077EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE76_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300181EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE180_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3135 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300335EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300335EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE334_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !367 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3138 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_tanpiDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300059EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300059EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE58_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300639EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE506_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3141 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !183 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !3144 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !3144 + %call3.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_powDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300143EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300143EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE142_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300788EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300788EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE611_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm4EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(16) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(16) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2042 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3147 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3147 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3147 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm2EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(8) %left, ptr addrspace(4) noundef align 4 dereferenceable(8) %right) #1 comdat !srcloc !145 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm2EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !3148 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !2555 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3149 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3149 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_asinDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + %2 = load i64, ptr %a2, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3152 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3152 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3152 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3152 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3152 + %call4.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #13, !noalias !3152 + %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS1i(half noundef %call.i, half noundef %call2.i, ptr addrspace(1) noundef %call4.i) #14, !noalias !3152 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300639EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300639EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE506_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300933EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE712_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.195, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3155 + store i16 14803, ptr %multiPtrSourceData.i, align 2, !noalias !3155 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3155 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3155 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3155 + store half 0xH3605, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3155 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3155 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !3155 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !3155 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !3155 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !3155 + %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !3155 + store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !3155 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3155 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3155 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3155 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %4 = load i16, ptr %resArg, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300469EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300469EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !2767 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3158 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3159 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3159 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_log10DF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3162 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300157EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300157EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE156_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300178EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE177_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 58498338336853, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3163 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300640EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300640EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE507_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1717 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3166 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3166 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_cospiDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300621EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300621EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE488_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300054EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE53_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3169 + store float 0x3FE6658BA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3169 + store float 0x3FC30FF8E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3169 + store float 0x3FBB353800000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3169 + store float 0x3FDA901EA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3169 + store float 0x3FE07C8B00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3169 + store float 0x3FDD5D8F40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3169 + store float 0x3FDF6AD300000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3169 + store float 0x3FE22C53A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3169 + store float 0x3FE49713C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3169 + store float 0x3FDC0F3EA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3169 + store float 0x3FD94231A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3169 + store float 0x3FEC812A60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3169 + store float 0x3FD3C24900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3169 + store float 0x3FE71800E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3169 + store float 0x3FDC7A8000000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3169 + store float 0x3FD8C19920000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3169 + store float 0x3FC356CC40000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3169 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3169 + call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3169 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300187EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE186_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH395E, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3172 + call spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301067EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE802_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3175 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3176 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300071EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300071EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE70_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !434 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp5 = alloca %"class.sycl::_V1::marray.2250", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp5) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp5.ascast) #13 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp5) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300856EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2270, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300856EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm3EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm3EE4sizeEv() #1 comdat align 2 !srcloc !325 { +entry: + ret i64 3 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp13, ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp1, i64 32, i1 false) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3177 + %call2.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3177 + %call3.i = call spir_func noundef <16 x half> @_Z16__spirv_ocl_fminDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1998 + ret ptr addrspace(1) %0 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1677 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !663 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3180 + %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_tgammaDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !418 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3183 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(10) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3184 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm5EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(10) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(10) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !3185 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3186 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3186 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3186 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3186 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_fmodDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300153EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300153EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE152_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300536EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE447_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.1936.218, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3189 + store i32 -3004, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3189 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3189 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3189 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3189 + store half 0xH394C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3189 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3189 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !3189 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !3189 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !3189 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !3189 + %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3189 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, i32 noundef %2) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3189 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3189 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3189 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 4, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 + %4 = load i32, ptr %resArg, align 4, !tbaa !1180 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE738_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3192 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(34) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3195 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300219EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE218_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3196 + store float 0x3FE1E2C8A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3196 + store float 0x3FD1FBFEE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3196 + store float 0x3FD93748E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3196 + store float 0x3FD9EA5F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3196 + store float 0x3FE69C0980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3196 + store float 0x3FD24267E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3196 + store float 0x3FEB28A9C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3196 + store float 0x3FE63483C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3196 + store float 0x3FDF0887C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3196 + store float 0x3FE9BD7A40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3196 + store float 0x3FD8CA1620000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3196 + store float 0x3FDA140500000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3196 + store float 0x3FCA0C2260000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3196 + store float 0x3FE7218BA0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3196 + store float 0x3FDAF0E980000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3196 + store float 0x3FE001A880000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3196 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3196 + store float 0x3FDE837B00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3196 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3196 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3196 + call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3196 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3199 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300172EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE171_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3200 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3200 + store float 0x3FDFCBFB40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3200 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3200 + store float 0x3FC509C280000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3200 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3200 + store float 0x3FC218B5E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3200 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3200 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3200 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3200 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3200 + call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3200 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !997 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3203 + %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_atanpiDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300017EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE16_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !3206 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3207 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3207 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3207 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3207 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_fmaxDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !312 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3210 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14itemILi1ELb0EEC2ILb0EEERNSt9enable_ifIXntT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 8 dereferenceable(8) %extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %index) #4 comdat align 2 !srcloc !3212 { +entry: + %0 = load i64, ptr addrspace(4) %extent, align 8 + store i64 %0, ptr addrspace(4) %this, align 8 + %MIndex = getelementptr inbounds %"struct.sycl::_V1::detail::ItemBase.1525", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load i64, ptr addrspace(4) %index, align 8 + store i64 %1, ptr addrspace(4) %MIndex, align 8 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp17 = alloca %"struct.std::array.147.20", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp17.ascast = addrspacecast ptr %ref.tmp17 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 18, ptr nonnull %ref.tmp17) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.147.20") align 2 %ref.tmp17.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm9EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(18) %ref.tmp17.ascast) #13 + call void @llvm.lifetime.end.p0(i64 18, ptr nonnull %ref.tmp17) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3213 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300144EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE143_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3214 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !3214 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE51_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3217 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3217 + store float 0x3FE60276C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3217 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3217 + store float 0x3FEA18BD00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3217 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3217 + store float 0x3FEABE7900000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3217 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3217 + store float 0x3FE33E9DE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3217 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3217 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3217 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3217 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3217 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3217 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3217 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3217 + call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3217 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !997 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3220 + %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_atanpiDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300326EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE325_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3223 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3223 + store float 0x3FE2E1F720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3223 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3223 + store float 0x3FE3F1B920000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3223 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3223 + store float 0x3FD22E5580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3223 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3223 + store float 0x3FCABC7980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3223 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3223 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3223 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3223 + store float 0x3FEAC9EC00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3223 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3223 + store float 0x3FD2B10E80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3223 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3223 + store float 0x3FBD405020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3223 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3223 + store float 0x3FD4E29760000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3223 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3223 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3223 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3223 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !3223 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3223 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3223 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !434 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { +entry: + %arrayidx = getelementptr inbounds [4 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp31 = alloca %"struct.std::array.133.13", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp31.ascast = addrspacecast ptr %ref.tmp31 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp31) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.133.13") align 2 %ref.tmp31.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm16EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(32) %ref.tmp31.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp31) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3226 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm5EE6_S_refERA5_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(10) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !488 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3227 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3227 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_expm1Dv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !306 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300248EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300248EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE247_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm11EE6_S_refERA11_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(22) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm2EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm2EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300593EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3230 + store float 0x3FD6CDADA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3230 + store float 0x3FE20D2020000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3230 + store float 0x3FE76A7D80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3230 + store float 0x3FDD293140000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3230 + store float 0x3FC7E91540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3230 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3230 + store i32 16405, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3230 + store i32 5566, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3230 + store i32 10759, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3230 + store i32 25155, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3230 + store i32 9047, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !3230 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3230 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3230 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3230 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3230 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !3230 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3230 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3233 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300650EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE517_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3234 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3237 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3238 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3238 + %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_erfDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300499EN4sycl3_V16marrayIiLm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE410_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.2202", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3241 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3241 + store float 0x3FE95607A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3241 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3241 + store float 0x3FDC1F8440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3241 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3241 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3241 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3241 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3241 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3241 + call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3241 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm2EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(8) %call, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300317EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300317EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE316_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300623EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE490_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3244 + store float 0x3FE963F060000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3244 + store float 0x3FDFBE7D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3244 + store float 0x3FEB9C1520000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3244 + store float 0x3FC2672CE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3244 + store float 0x3FE40C6BC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3244 + store float 0x3FDE8CEFC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3244 + store float 0x3FC157F3C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3244 + store float 0x3FE50E5600000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3244 + store float 0x3FE3008240000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3244 + store float 0x3FE4CAC160000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3244 + store float 0x3FD2151420000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3244 + store float 0x3FC4B43180000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3244 + store float 0x3FD2C39B00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3244 + store float 0x3FDC1D0140000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3244 + store float 0x3FE4153AE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3244 + store float 0x3FE5BD4340000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3244 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3244 + store float 0x3FD5FA31A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3244 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3244 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3244 + call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3244 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3247 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300771EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300771EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE594_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300171EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE170_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3248 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3248 + store float 0x3FE1623D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3248 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3248 + store float 0x3FE983BB00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3248 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3248 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3248 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3248 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3248 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3248 + call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3248 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(2) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301015EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE750_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3251 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3251 + store float 0x3FE4643A60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3251 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3251 + store float 0x3FDE29CEA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3251 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3251 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3251 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3251 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3251 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3251 + call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3251 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !3254 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3255 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3255 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_log2Dv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !173 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3258 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3259 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3260 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !783 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3261 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3261 + %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_expDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300919EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300919EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE698_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301016EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301016EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE751_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301005EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE740_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3264 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3264 + store float 0x3FD97B23E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3264 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3264 + store float 0x3FD732A200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3264 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3264 + store float 0x3FDA2E05C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3264 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3264 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3264 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3264 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3264 + call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3264 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { +entry: + %arrayidx = getelementptr inbounds [5 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300670EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300670EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE537_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp25 = alloca %"struct.std::array.2407", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp25.ascast = addrspacecast ptr %ref.tmp25 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 52, ptr nonnull %ref.tmp25) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2407") align 4 %ref.tmp25.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm13EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(52) %ref.tmp25.ascast) #13 + call void @llvm.lifetime.end.p0(i64 52, ptr nonnull %ref.tmp25) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1477 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3267 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3268 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3269 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !3270 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3271 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_acoshDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIiLm3EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, ptr addrspace(4) noundef align 4 dereferenceable(12) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %Arr, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %Arr, i64 noundef 1) #13 + %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element3 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 2 + %call4 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %Arr, i64 noundef 2) #13 + %3 = load i32, ptr addrspace(4) %call4, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element3, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !3274 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3275 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300937EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3277 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3277 + store half 0xH3878, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3277 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3277 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3277 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3277 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300792EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE615_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3280 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !3280 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2065 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm16EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(64) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(64) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300390EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3283 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3283 + store float 0x3FEB4992A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3283 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3283 + store float 0x3FD0479C80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3283 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3283 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3283 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3283 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3283 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3283 + store float 0x3FE974D6E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3283 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3283 + store float 0x3FD44244C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3283 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3283 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3283 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3283 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3283 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3283 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3283 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3283 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3283 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !3283 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3283 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3283 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3283 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %dimension) #1 comdat align 2 !srcloc !3286 { +entry: + %idxprom = sext i32 %dimension to i64 + %arrayidx = getelementptr inbounds [1 x i64], ptr addrspace(4) %this, i64 0, i64 %idxprom + %0 = load i64, ptr addrspace(4) %arrayidx, align 8, !tbaa !340 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300982EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3287 + store float 0x3FE6E490C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3287 + store float 0x3FC7692760000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3287 + store float 0x3FD5D93940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3287 + store float 0x3FC6401FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3287 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3287 + store float 0x3FD39DCB60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3287 + store float 0x3FE5EBB7E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3287 + store float 0x3FE238C9A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3287 + store float 0x3FD561C080000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3287 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3287 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3287 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3287 + %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3287 + store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3287 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3287 + store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3287 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3287 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3290 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1155 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3291 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3291 + %call3.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_minmagDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !521 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm17EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300257EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE256_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3294 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3297 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %t) #1 comdat !srcloc !1175 { +entry: + %t.addr = alloca <16 x half>, align 32 + %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) + store <16 x half> %t, ptr %t.addr, align 32, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr addrspace(4) noundef align 32 dereferenceable(32) %t.addr.ascast) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300735EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1786.211, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300735EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(34) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3298 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300460EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3299 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3299 + store float 0x3FE09AEA00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3299 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3299 + store float 0x3FCCF82B40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3299 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3299 + store float 0x3FD88293A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3299 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3299 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3299 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3299 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3299 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3299 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3299 + store i32 -19504, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3299 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3299 + store i32 4622, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3299 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3299 + store i32 21553, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3299 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3299 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3299 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3299 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3299 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3299 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3299 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3299 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !3299 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3299 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3299 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3299 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300309EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE308_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store i64 63192828099033, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3302 + store half 0xH318B, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3302 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iS4_EET_T0_(ptr addrspace(3) noundef %call) #13 + ret ptr addrspace(3) %call1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3305 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3305 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3305 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !3305 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !3305 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1155 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3308 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3308 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3308 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3308 + %call3.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_minmagDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3311 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3312 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3314 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3315 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300415EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300415EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300615EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300615EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE482_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp11 = alloca %"struct.std::array.153.23", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp11.ascast = addrspacecast ptr %ref.tmp11 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp11) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffEE6CreateERKfSA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.153.23") align 2 %ref.tmp11.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm6EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(12) %ref.tmp11.ascast) #13 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp11) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !557 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3316 + %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_tanDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300504EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE415_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3B1C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3319 + call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, i32 noundef 19980) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300487EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300487EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE398_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300310EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE309_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3322 + store half 0xH3AD5, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3322 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300984EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3325 + store float 0x3FEB994940000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3325 + store float 0x3FE1159920000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3325 + store float 0x3FDB1E9400000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3325 + store float 0x3FE61E07C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3325 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3325 + store float 0x3FDF2315A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3325 + store float 0x3FBFBAF820000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3325 + store float 0x3FE8873E20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3325 + store float 0x3FE1BF1700000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3325 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3325 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3325 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3325 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3325 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3325 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3325 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3325 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3325 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300502EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300502EN4sycl3_V16marrayIiLm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE413_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300934EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1520.196, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 + store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300934EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300923EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300923EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE702_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300332EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE331_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3328 + store half 0xH3327, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3328 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3331 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3332 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3332 + %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_asinpiDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3335 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300275EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300275EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE274_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3016 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301020EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301020EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE755_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300645EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE512_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3336 + store float 0x3FC31CA920000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3336 + store float 0x3FE940CDE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3336 + store float 0x3FDD8C4DE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3336 + store float 0x3FEAAE4C20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3336 + store float 0x3FD9AEFA40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3336 + store float 0x3FC138EE00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3336 + store float 0x3FE06748A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3336 + store float 0x3FEB028200000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3336 + store float 0x3FE14D2FE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3336 + store float 0x3FD2C021C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3336 + store float 0x3FE496C560000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3336 + store float 0x3FE1616360000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3336 + store float 0x3FE15DB0E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3336 + store float 0x3FD2A26AE0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3336 + store float 0x3FD1B012C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3336 + store float 0x3FBBD5E920000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3336 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3336 + store float 0x3FEC01C560000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3336 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3336 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3336 + call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3336 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3339 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300279EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE278_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3341 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300169EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE168_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3344 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3347 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !3349 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm12EE6_S_refERA12_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(24) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE4sizeEv() #1 comdat align 2 !srcloc !458 { +entry: + ret i64 2 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2299 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE797_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3351 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3351 + store float 0x3FC50A3540000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3351 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3351 + store float 0x3FCFAF25A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3351 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3351 + store float 0x3FC6615E40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3351 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3351 + store float 0x3FE33BC720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3351 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3351 + store float 0x3FE341F080000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3351 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3351 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3351 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3351 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3351 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3351 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3351 + call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3351 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300601EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3354 + store float 0x3FD34019E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3354 + store float 0x3FC587EA40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3354 + store float 0x3FDD8BE0E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3354 + store float 0x3FD48B39A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3354 + store float 0x3FE9CAAD80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3354 + store float 0x3FC0F62AA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3354 + store float 0x3FE6B5E8A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3354 + store float 0x3FE9A71880000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3354 + store float 0x3FE3106A00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3354 + store float 0x3FD07F66C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3354 + store float 0x3FB9F43C80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3354 + store float 0x3FC59E1980000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3354 + store float 0x3FE85FFE20000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3354 + store float 0x3FE3A64D20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3354 + store float 0x3FEA63C600000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3354 + store float 0x3FE50926E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3354 + store float 0x3FC7DEFAC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3354 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3354 + store i32 -1058, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3354 + store i32 8613, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3354 + store i32 -21788, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3354 + store i32 -9254, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3354 + store i32 -9247, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3354 + store i32 -1912, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3354 + store i32 30912, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3354 + store i32 -20491, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3354 + store i32 23859, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3354 + store i32 -2404, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3354 + store i32 11087, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3354 + store i32 2782, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3354 + store i32 17280, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3354 + store i32 25417, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3354 + store i32 -18433, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3354 + store i32 -32747, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3354 + store i32 20821, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !3354 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3354 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3354 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3354 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3354 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3354 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3354 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp27 = alloca %"struct.std::array.2406", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp27.ascast = addrspacecast ptr %ref.tmp27 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %ref.tmp27) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2406") align 4 %ref.tmp27.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm14EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(56) %ref.tmp27.ascast) #13 + call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %ref.tmp27) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm2EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300154EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300154EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE153_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE49_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3357 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3357 + store float 0x3FD7FEB5C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3357 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3357 + store float 0x3FDEEDE200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3357 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3357 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3357 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3357 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3357 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3357 + call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3357 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !596 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3360 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3360 + %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_cosDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301011EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE746_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 64318036326407, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3363 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2517 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3366 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a2) #2 comdat !srcloc !902 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp4.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + %2 = load i64, ptr %a2, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3367 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3367 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3367 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !3367 + store i64 %2, ptr %agg.tmp4.i, align 8, !tbaa !69, !noalias !3367 + %call5.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp4.i) #13, !noalias !3367 + %call12.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_madDv3_DF16_S_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i, <3 x half> noundef %call5.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call12.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300469EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3370 + store float 0x3FE779DA40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3370 + store float 0x3FC3CCF340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3370 + store float 0x3FD9AF8B60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3370 + store float 0x3FD1061980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3370 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3370 + store i32 -7426, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3370 + store i32 -26392, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3370 + store i32 11408, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3370 + store i32 16739, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3370 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3370 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3370 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3370 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3370 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3370 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3370 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3370 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3370 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2133 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3373 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3374 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300132EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300132EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE131_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %left, ptr addrspace(4) noundef align 2 dereferenceable(2) %right) #1 comdat !srcloc !3375 { +entry: + %0 = load i16, ptr addrspace(4) %right, align 2, !tbaa !99 + store i16 %0, ptr addrspace(4) %left, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm5EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(20) %A2) #1 comdat !srcloc !564 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(20) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300522EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300522EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE433_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300774EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE597_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3376 + store float 0x3FE29C56C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3376 + store float 0x3FDCEF7C00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3376 + store float 0x3FE178BE00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3376 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3376 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3376 + store float 0x3FE9A35480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3376 + store float 0x3FDCBBE540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3376 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3376 + store float 0x3FD783EAC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3376 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3376 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3376 + call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3376 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3376 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300156EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE155_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 58846265882781, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3379 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300925EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300925EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE704_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1357 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3382 + %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_acospiDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300458EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE385_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2260.232, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3385 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3385 + store float 0x3FE6DBE200000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3385 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3385 + store float 0x3FD3EC7980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3385 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3385 + store float 0x3FBB945080000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3385 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3385 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3385 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3385 + store i32 1474, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3385 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3385 + store i32 -19606, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3385 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3385 + store i32 -13127, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3385 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3385 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3385 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3385 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !3385 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3385 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !3385 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !3385 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3385 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3388 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1860 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3389 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3389 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_rsqrtDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301026EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE761_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3392 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3392 + store float 0x3FE098B540000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3392 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3392 + store float 0x3FDBFDDFA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3392 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3392 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3392 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3392 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3392 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3392 + call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3392 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300772EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300772EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE595_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <16 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEcvDv16_DF16_Ev(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !207 { +entry: + %0 = load <16 x half>, ptr addrspace(4) %this, align 32, !tbaa !69 + ret <16 x half> %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1357 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3395 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3395 + %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_acospiDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3398 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300420EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300420EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301037EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE772_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3399 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3399 + store float 0x3FD85DD800000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3399 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3399 + store float 0x3FDB4A53A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3399 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3399 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3399 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3399 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3399 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3399 + call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3399 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1998 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300905EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300905EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE684_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300104EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300104EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE103_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300243EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300243EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE242_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2156") align 64 %a1) #2 comdat !srcloc !1517 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2156", align 64 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x i32>, ptr %a1, align 64, !tbaa.struct !689 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp13) + store <16 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 64 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3402 + %call2.i = tail call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp13) #13, !noalias !3402 + %call3.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_ldexpDv16_DF16_Dv16_i(<16 x half> noundef %call.i, <16 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !628 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3405 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3405 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_floorDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300340EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300340EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE339_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 + store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !3270 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3408 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3408 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_acoshDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300504EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300504EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE415_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300216EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE215_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3411 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3411 + store float 0x3FD7F6C3E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3411 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3411 + store float 0x3FC6C98EA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3411 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3411 + store float 0x3FBAA753E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3411 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3411 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3411 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3411 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3411 + call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3411 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300883EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE662_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3414 + store float 0x3FE655ACE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3414 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3414 + store float 0x3FEB059DA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3414 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3414 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3414 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3414 + call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3414 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3417 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.28.4", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300528EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300528EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE439_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300988EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3419 + store float 0x3FE7B22C20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3419 + store float 0x3FE9D28000000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3419 + store float 0x3FD31E6280000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3419 + store float 0x3FD5137C60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3419 + store float 0x3FE419FFA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3419 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3419 + store float 0x3FD6AA6000000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3419 + store float 0x3FE51BD680000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3419 + store float 0x3FEBFBDD80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3419 + store float 0x3FD23CA560000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3419 + store float 0x3FBF60FFE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3419 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3419 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3419 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3419 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3419 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !3419 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3419 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300189EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE188_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 64562864994911, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3422 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3425 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3426 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3426 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_sinhDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300636EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300636EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE503_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3429 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301060EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301060EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE795_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300759EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE582_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3430 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !3430 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300215EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300215EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE214_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %left, ptr addrspace(4) noundef align 2 dereferenceable(34) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !3433 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300482EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE393_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH2FF3, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3434 + store half 0xH383F, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3434 + call spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300023EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE22_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm8EE6_S_refERA8_Kim(ptr addrspace(4) noundef align 4 dereferenceable(32) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm15EE6_S_refERA15_Kim(ptr addrspace(4) noundef align 4 dereferenceable(60) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [15 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300798EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE621_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3437 + store float 0x3FD71EDA20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3437 + store float 0x3FDA8C4E20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3437 + store float 0x3FDC0D84E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3437 + store float 0x3FC08B44C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3437 + store float 0x3FDC81C6C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3437 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3437 + store float 0x3FE310E240000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3437 + store float 0x3FEA84A3A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3437 + store float 0x3FE0CF5600000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3437 + store float 0x3FDEB2C100000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3437 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3437 + store float 0x3FEC97D380000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3437 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3437 + call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3437 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3437 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300079EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE78_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1873 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3026 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300100EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300100EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE99_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300480EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300480EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3440 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3442 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301033EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301033EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE768_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIiiEENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS2_RKS3_(ptr addrspace(4) noundef align 4 dereferenceable(4) %left, ptr addrspace(4) noundef align 4 dereferenceable(4) %right) #1 comdat !srcloc !3443 { +entry: + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %left, ptr addrspace(4) noundef align 4 dereferenceable(4) %right) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301026EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301026EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE761_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this) #4 comdat align 2 !srcloc !569 { +entry: + br label %arrayinit.body + +arrayinit.body: ; preds = %arrayinit.body, %entry + %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] + %arrayinit.cur.ptr = getelementptr inbounds i32, ptr addrspace(4) %this, i64 %arrayinit.cur.idx + store i32 0, ptr addrspace(4) %arrayinit.cur.ptr, align 4, !tbaa !126 + %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 + %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 4 + br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body + +arrayinit.end2: ; preds = %arrayinit.body + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !2273 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3444 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3444 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_sinhDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2765 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300678EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300678EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE545_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %t) #1 comdat !srcloc !1175 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 32 dereferenceable(32) %t.ascast) #13 + ret <16 x half> %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder12createNDItemILi1EEENS0_7nd_itemIXT_EEERKNS0_4itemIXT_ELb1EEERKNS6_IXT_ELb0EEERKNS0_5groupIXT_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::nd_item") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(24) %Global, ptr addrspace(4) noundef align 8 dereferenceable(16) %Local, ptr addrspace(4) noundef align 8 dereferenceable(32) %Group) #1 comdat align 2 !srcloc !3447 { +entry: + tail call spir_func void @_ZN4sycl3_V17nd_itemILi1EEC2ERKNS0_4itemILi1ELb1EEERKNS3_ILi1ELb0EEERKNS0_5groupILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(24) %Global, ptr addrspace(4) noundef align 8 dereferenceable(16) %Local, ptr addrspace(4) noundef align 8 dereferenceable(32) %Group) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300507EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE418_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2064", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3448 + store <4 x i32> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !3448 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300929EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300929EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE708_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301002EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE737_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300463EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300463EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300224EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300224EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE223_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3451 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3452 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3452 + %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_atanpiDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300116EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300116EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE115_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3455 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300750EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE577_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1892.216, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3456 + store float 0x3FE668DF40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3456 + store float 0x3FC6CD1780000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3456 + store float 0x3FE050CB60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3456 + store float 0x3FE0690D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3456 + store float 0x3FD0200840000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3456 + store float 0x3FE1D824A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3456 + store float 0x3FEA23FD80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3456 + store float 0x3FE8CB0520000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3456 + store float 0x3FEAAE6A40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3456 + store float 0x3FD40CA9C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3456 + store float 0x3FE63F9C20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3456 + store float 0x3FE6F48580000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3456 + store float 0x3FC4E9B520000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3456 + store float 0x3FEA4A0100000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3456 + store float 0x3FE5D2C140000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3456 + store float 0x3FE64020A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3456 + store float 0x3FD0295CA0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3456 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3456 + store float 0x3FC9E70340000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3456 + store float 0x3FE3D2EA20000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3456 + store float 0x3FEC0104C0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3456 + store float 0x3FDF4D6540000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3456 + store float 0x3FEB589CA0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3456 + store float 0x3FD8C0F4E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3456 + store float 0x3FDDAF0DE0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3456 + store float 0x3FD357F8C0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3456 + store float 0x3FE66F91E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3456 + store float 0x3FEC95E320000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3456 + store float 0x3FD73072A0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3456 + store float 0x3FE9E203C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3456 + store float 0x3FD2E53E80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3456 + store float 0x3FBD286BC0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3456 + store float 0x3FCA698380000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3456 + store float 0x3FC4213EE0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3456 + store float 0x3FDC3F0D20000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3456 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3456 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3456 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !3456 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3456 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !3456 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !3456 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3456 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3459 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300479EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2422, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300479EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 4 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3461 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3462 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300920EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300920EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE699_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300656EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300656EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE523_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + %0 = load i16, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp4, align 2, !tbaa !99 + %2 = load i16, ptr %a1, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp6, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %4 = load i32, ptr %PartialRes, align 4 + store i32 %4, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3464 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !983 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3465 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3465 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3465 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !3465 + %call3.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_atan2Dv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3468 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + %0 = load i32, ptr %res_t, align 2, !tbaa !69 + store i32 %0, ptr addrspace(4) %this, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load i32, ptr %resArg_t, align 2, !tbaa !69 + store i32 %1, ptr addrspace(4) %resArg, align 2, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300288EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300288EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE287_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3469 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3471 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3472 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3471 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.1972") align 8 %a1) #2 comdat !srcloc !1202 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.1972", align 8 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3473 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3473 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3473 + %call2.i = tail call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp1.i) #13, !noalias !3473 + %call3.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_rootnDv2_DF16_Dv2_i(<2 x half> noundef %call.i, <2 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3476 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3477 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300028EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE27_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300456EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3478 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3478 + store float 0x3FEA6E8100000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3478 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3478 + store float 0x3FE40C7980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3478 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3478 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3478 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3478 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3478 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3478 + store i32 -24712, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !3478 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3478 + store i32 26091, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3478 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3478 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3478 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3478 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3478 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3478 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3478 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3478 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3478 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !3478 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3478 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3478 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3478 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300770EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300770EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE593_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300304EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE303_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3481 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3481 + store float 0x3FD6E3A080000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3481 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3481 + store float 0x3FCB89C9E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3481 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3481 + store float 0x3FE6A70360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3481 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3481 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3481 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3481 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3481 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3481 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3481 + store float 0x3FE14A3FA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3481 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3481 + store float 0x3FE0EF5B80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3481 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3481 + store float 0x3FE56357C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3481 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3481 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3481 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3481 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3481 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3481 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3481 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300389EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1748.209, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 + store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300389EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300582EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300582EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300030EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE29_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm12EE6_S_refERA12_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(24) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [12 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !2273 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3484 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3484 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_sinhDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300665EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE532_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3487 + store float 0x3FDEE532A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3487 + store float 0x3FE62B1920000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3487 + store float 0x3FBED6E7A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3487 + store float 0x3FC4475DA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3487 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3487 + store float 0x3FE3E02980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3487 + store float 0x3FECA5D760000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3487 + store float 0x3FC85C1FA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3487 + store float 0x3FD34EFCA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3487 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3487 + store float 0x3FC22E6220000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3487 + store float 0x3FE810E620000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3487 + store float 0x3FC7B37960000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3487 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3487 + store float 0x3FE58EB400000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3487 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3487 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3487 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3487 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !3487 + store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !3487 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !69, !noalias !3487 + store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !3487 + call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3487 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !3349 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2782 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm3EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %this, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %this, ptr align 2 %res_t, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr addrspace(4) %this, i64 0, i32 1 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %resArg, ptr align 2 %resArg_t, i64 10, i1 false), !tbaa.struct !190 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300988EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1862.215, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300988EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300290EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300290EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE289_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301078EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE813_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300107EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300107EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE106_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300513EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE424_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3490 + store float 0x3FE4974CA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3490 + store float 0x3FE51A5980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3490 + store float 0x3FD2614F80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3490 + store float 0x3FE161A500000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3490 + store float 0x3FE3D53980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3490 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3490 + store i32 9270, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3490 + store i32 -20319, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3490 + store i32 -20833, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3490 + store i32 30496, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !3490 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3490 + store i32 5972, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !3490 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3490 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !3490 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3490 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300194EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300194EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE193_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !655 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3493 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3493 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_asinhDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300888EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE667_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH38FC, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3496 + call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, i32 noundef 2915) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1703 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3499 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_exp10Dv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !296 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3502 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3502 + %call3.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_maxmagDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300876EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300876EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm2EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3505 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3506 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !367 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3507 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3507 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_tanpiDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3510 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3510 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3510 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !3510 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !3510 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2064") align 16 %a1) #2 comdat !srcloc !1517 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2064", align 16 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %agg.tmp1.sroa.0.0.copyload = load <4 x i32>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3513 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3513 + %call2.i = tail call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp13) #13, !noalias !3513 + %call3.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_ldexpDv4_DF16_Dv4_i(<4 x half> noundef %call.i, <4 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3516 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2540 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300505EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE416_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.1972", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3517 + store <2 x i32> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !3517 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm7EE6_S_refERA7_Kim(ptr addrspace(4) noundef align 4 dereferenceable(28) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300460EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2270, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300460EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300985EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3520 + store float 0x3FDE9845E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3520 + store float 0x3FBA386320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3520 + store float 0x3FE17A3240000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3520 + store float 0x3FE7E8BE20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3520 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3520 + store float 0x3FE84E5220000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3520 + store float 0x3FECC4D920000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3520 + store float 0x3FE8CA20E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3520 + store float 0x3FE15110C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3520 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3520 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3520 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3520 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3520 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3520 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3520 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3520 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3520 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm15EE6_S_refERA15_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(30) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [15 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300004EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE3_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3523 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300400EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1824.213, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300400EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300755EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3526 + store float 0x3FE01CCD60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3526 + store float 0x3FE22AD380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3526 + store float 0x3FE20C6920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3526 + store float 0x3FDDEFED00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3526 + store float 0x3FD6C071E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3526 + store float 0x3FD49C6520000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3526 + store float 0x3FE62627E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3526 + store float 0x3FE67B8480000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3526 + store float 0x3FE83D3AE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3526 + store float 0x3FD75FC680000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3526 + store float 0x3FE92A6C40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3526 + store float 0x3FCD759AE0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3526 + store float 0x3FD6888E40000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3526 + store float 0x3FE3282360000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3526 + store float 0x3FDCC3F980000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3526 + store float 0x3FE5A37620000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3526 + store float 0x3FE4461CC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3526 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3526 + store float 0x3FE3CDB7E0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3526 + store float 0x3FDE90DEE0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3526 + store float 0x3FC3D65580000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3526 + store float 0x3FE9114220000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3526 + store float 0x3FD4B22980000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3526 + store float 0x3FC1D8CF80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3526 + store float 0x3FE121CB80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3526 + store float 0x3FE022B100000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3526 + store float 0x3FC1061DE0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3526 + store float 0x3FE048AEE0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3526 + store float 0x3FE6D3E360000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3526 + store float 0x3FE1C875C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3526 + store float 0x3FE633B140000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3526 + store float 0x3FD474FD80000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3526 + store float 0x3FE1B8A7E0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3526 + store float 0x3FE606A860000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3526 + store float 0x3FBB3E2000000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3526 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3526 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3526 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3526 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3526 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3526 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3526 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300247EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE246_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3529 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300354EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300354EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #4 comdat align 2 !srcloc !1947 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.2250", align 4 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIiLm3EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1DF16_PU3AS1NS1_9half_impl4halfEEET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300225EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE224_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3532 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300598EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3535 + store float 0x3FE782E2E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3535 + store float 0x3FE5F47A20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3535 + store float 0x3FEBACCEE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3535 + store float 0x3FD80AE9A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3535 + store float 0x3FE3383E80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3535 + store float 0x3FEA659DC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3535 + store float 0x3FD2FE8960000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3535 + store float 0x3FBAD903C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3535 + store float 0x3FE12B3BE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3535 + store float 0x3FDC4D8F00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3535 + store float 0x3FDAC06DE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3535 + store float 0x3FDA1883A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3535 + store float 0x3FE4819AE0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3535 + store float 0x3FE0AEBAC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3535 + store float 0x3FDD060080000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3535 + store float 0x3FE493F940000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3535 + store float 0x3FD8C79480000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3535 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3535 + store i32 31501, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3535 + store i32 11098, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3535 + store i32 18991, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3535 + store i32 16880, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3535 + store i32 -19511, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3535 + store i32 -32691, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3535 + store i32 -9229, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3535 + store i32 21095, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3535 + store i32 20326, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3535 + store i32 12472, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3535 + store i32 -28395, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3535 + store i32 -25230, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3535 + store i32 -11975, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3535 + store i32 13639, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3535 + store i32 -9298, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3535 + store i32 27164, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3535 + store i32 5341, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !3535 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3535 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3535 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3535 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3535 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3535 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3538 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300305EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300305EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE304_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300413EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3539 + store float 0x3FD5CA7A20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3539 + store float 0x3FC59677C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3539 + store float 0x3FEBFC8600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3539 + store float 0x3FE000D040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3539 + store float 0x3FDC0424E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3539 + store float 0x3FE15A5F40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3539 + store float 0x3FCF2D7260000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3539 + store float 0x3FE79DBA40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3539 + store float 0x3FD519AB60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3539 + store float 0x3FE8E19E00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3539 + store float 0x3FE61F75A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3539 + store float 0x3FD57D04E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3539 + store float 0x3FDF4901A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3539 + store float 0x3FD57A1020000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3539 + store float 0x3FEB44DFE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3539 + store float 0x3FE8EF0AC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3539 + store float 0x3FE0FF86E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3539 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3539 + store float 0x3FE4DB7700000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3539 + store float 0x3FC4C15140000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3539 + store float 0x3FE7B2E260000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3539 + store float 0x3FD8BEAAC0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3539 + store float 0x3FD42687A0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3539 + store float 0x3FD72DBFA0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3539 + store float 0x3FE9F6AD00000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3539 + store float 0x3FC760A740000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3539 + store float 0x3FEC745D00000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3539 + store float 0x3FDE22A2A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3539 + store float 0x3FE342DBA0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3539 + store float 0x3FE02B8C00000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3539 + store float 0x3FC33865E0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3539 + store float 0x3FE6CD8520000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3539 + store float 0x3FDAEF0740000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3539 + store float 0x3FDF159BC0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3539 + store float 0x3FE83B27E0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3539 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3539 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3539 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3539 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3539 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3539 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3539 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300093EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300093EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE92_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE24_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3542 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301027EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE762_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3545 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3545 + store float 0x3FBA2AD3A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3545 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3545 + store float 0x3FE3ABC760000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3545 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3545 + store float 0x3FCDF6A060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3545 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3545 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3545 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3545 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3545 + call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3545 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !677 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm16EE6_S_refERA16_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(32) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [16 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300214EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300214EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE213_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300685EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE552_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3548 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3548 + store float 0x3FEC30A2E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3548 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3548 + store float 0x3FD1E93580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3548 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3548 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3548 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3548 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !3548 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3548 + store float 0x3FBE63B960000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3548 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3548 + store float 0x3FDBAE7C40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3548 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3548 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3548 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3548 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3548 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3548 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !3548 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3548 + call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !3548 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3548 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300897EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300897EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE676_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300637EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300637EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE504_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300987EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300987EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE730_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %t) #1 comdat !srcloc !1175 { +entry: + %t.addr = alloca <2 x half>, align 4 + %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) + store <2 x half> %t, ptr %t.addr, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %t.addr.ascast) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1426 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3551 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3551 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3551 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300906EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE685_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3552 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3552 + store float 0x3FEA340B20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3552 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3552 + store float 0x3FC6880840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3552 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3552 + store float 0x3FD688E680000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3552 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3552 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3552 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3552 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3552 + call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3552 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300503EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300503EN4sycl3_V16marrayIiLm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE414_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300038EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE37_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3555 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !3558 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3559 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3559 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_sinpiDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3562 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300343EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE342_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3563 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !3563 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(6) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(6) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300229EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE228_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3566 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3566 + store float 0x3FD90B7260000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3566 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3566 + store float 0x3FD25DFE80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3566 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3566 + store float 0x3FC1463560000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3566 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3566 + store float 0x3FD9FE2820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3566 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3566 + store float 0x3FBA85E1E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3566 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3566 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3566 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3566 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3566 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3566 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3566 + call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3566 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300805EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300805EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE628_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp13, ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp1, i64 16, i1 false) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !3569 + %call2.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !3569 + %call3.i = call spir_func noundef <8 x half> @_Z16__spirv_ocl_fminDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301022EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301022EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE757_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %t) #1 comdat !srcloc !1175 !sycl_used_aspects !63 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef half @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_(ptr addrspace(4) noundef align 2 dereferenceable(2) %t.ascast) #13 + ret half %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3572 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300296EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300296EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE295_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !571 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3573 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3574 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3575 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp7 = alloca %"class.sycl::_V1::marray.2297", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp7.ascast = addrspacecast ptr %ref.tmp7 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp7) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %ref.tmp7.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm4EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(16) %ref.tmp7.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp7) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301044EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301044EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE779_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + %0 = load i16, ptr %a1, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300279EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300279EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE278_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3576 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300106EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE105_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3577 + store float 0x3FE7683420000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3577 + store float 0x3FDA4F76C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3577 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3577 + store float 0x3FE7DAF240000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3577 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3577 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3577 + call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3577 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300346EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300346EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE345_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300160EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300160EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE159_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300525EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300525EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE436_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300161EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE160_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3580 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3580 + store float 0x3FE39FA8E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3580 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3580 + store float 0x3FC042BBE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3580 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3580 + store float 0x3FE698CF40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3580 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3580 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3580 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3580 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3580 + call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3580 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !628 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3583 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3583 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_floorDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300327EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE326_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3586 + store float 0x3FE070B8A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3586 + store float 0x3FE369F2E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3586 + store float 0x3FE61FAE20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3586 + store float 0x3FCBB55280000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3586 + store float 0x3FE0339E00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3586 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3586 + store float 0x3FD6CB3FA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3586 + store float 0x3FE5C07C60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3586 + store float 0x3FD8CE5CE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3586 + store float 0x3FE7F71C00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3586 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3586 + store float 0x3FD035FF20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3586 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3586 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3586 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3586 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm3EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300225EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300225EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE224_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300589EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3589 + store float 0x3FDAD89E60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3589 + store float 0x3FC773DF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3589 + store float 0x3FD6761EC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3589 + store float 0x3FCB4B1CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3589 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3589 + store i32 18307, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3589 + store i32 4317, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3589 + store i32 425, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3589 + store i32 14109, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3589 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3589 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3589 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3589 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3589 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3589 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3589 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3589 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3589 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301006EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE741_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300734EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1786.211, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300734EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300339EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300339EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE338_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3592 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3594 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3594 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3594 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EE4sizeEv() #1 comdat align 2 !srcloc !587 { +entry: + ret i64 3 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300196EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE195_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3595 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3595 + store float 0x3FE1615960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3595 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3595 + store float 0x3FCE212440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3595 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3595 + store float 0x3FD105ABC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3595 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3595 + store float 0x3FD2161CA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3595 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3595 + store float 0x3FE0A5D440000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3595 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3595 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3595 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3595 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3595 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3595 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3595 + call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3595 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1717 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3598 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_cospiDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds i32, ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300862EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp15.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3601 + store float 0x3FC339F620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3601 + store float 0x3FEBF183E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3601 + store float 0x3FEB163D60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3601 + store float 0x3FC1435A80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3601 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3601 + store float 0x3FE3DF5E60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3601 + store float 0x3FDC0D9DE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3601 + store float 0x3FE35E9DE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3601 + store float 0x3FE8F12AC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3601 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3601 + store i32 -8148, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3601 + store i32 30278, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3601 + store i32 7685, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3601 + store i32 32641, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !3601 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3601 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3601 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3601 + %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3601 + store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !3601 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !3601 + store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !3601 + %3 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !3601 + store i64 %3, ptr %agg.tmp15.i, align 8, !tbaa !128, !noalias !3601 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp15.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3601 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iS4_EET_T0_(ptr noundef %from) #1 comdat !srcloc !114 { +entry: + ret ptr %from +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2217 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3604 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + %2 = load i64, ptr %a2, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3606 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3606 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3606 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3606 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3606 + %call4.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #13, !noalias !3606 + %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS3i(half noundef %call.i, half noundef %call2.i, ptr addrspace(3) noundef %call4.i) #14, !noalias !3606 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE23_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 58193347360524, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3609 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2287 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300999EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE734_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3612 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300394EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1786.211, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300394EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300295EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE294_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3615 + store float 0x3FE28958A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3615 + store float 0x3FDAD95560000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3615 + store float 0x3FE18AF9C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3615 + store float 0x3FE534ABC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3615 + store float 0x3FDB3909C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3615 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3615 + store float 0x3FEA095A80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3615 + store float 0x3FEBAA9220000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3615 + store float 0x3FEC6AE220000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3615 + store float 0x3FC268C920000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3615 + store float 0x3FE89F7200000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3615 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_2.i) #13, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3615 + store float 0x3FE9AFB3C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3615 + store float 0x3FCBB08300000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3615 + store float 0x3FEB4CF3C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3615 + store float 0x3FC9D10360000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3615 + store float 0x3FD103B500000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3615 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3615 + call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_2.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_2.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3615 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3615 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300186EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE185_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3618 + store float 0x3FDABABC00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3618 + store float 0x3FE2154DE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3618 + store float 0x3FE89745A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3618 + store float 0x3FECBF7B00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3618 + store float 0x3FE9DB6560000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3618 + store float 0x3FD96F9CE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3618 + store float 0x3FBE0CBA40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3618 + store float 0x3FE2DB6980000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3618 + store float 0x3FDEB26E60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3618 + store float 0x3FD28907E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3618 + store float 0x3FC0ED5900000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3618 + store float 0x3FD6DD4920000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3618 + store float 0x3FE7A170A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3618 + store float 0x3FEBE1A680000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3618 + store float 0x3FC7B8D4E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3618 + store float 0x3FE9AAE5C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3618 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3618 + store float 0x3FC1C9E780000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3618 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3618 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3618 + call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3618 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !3621 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3623 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300616EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE483_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3625 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !740 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !362 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3628 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_atanhDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2264 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300642EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300642EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE509_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300811EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE634_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.1936.218, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3631 + store i32 19266, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3631 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3631 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3631 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3631 + store half 0xH34A8, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3631 + store half 0xH37A4, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3631 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !3631 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3631 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp3.i) #14, !noalias !3631 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !3631 + store i16 %1, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !3631 + %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3631 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i, i32 noundef %2) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3631 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3631 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3631 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 4, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 + %4 = load i32, ptr %resArg, align 4, !tbaa !1180 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp23 = alloca %"struct.std::array.2408", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp23.ascast = addrspacecast ptr %ref.tmp23 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp23) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2408") align 4 %ref.tmp23.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm12EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(48) %ref.tmp23.ascast) #13 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp23) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3634 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !617 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3635 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3635 + %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_powrDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_xv() #5 comdat !srcloc !3638 { +entry: + %0 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalInvocationId, align 32 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3639 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300308EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300308EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE307_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300779EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300779EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE602_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300859EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300859EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE650_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm5EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %t) #1 comdat !srcloc !1175 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret <4 x half> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300020EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300020EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE19_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300032EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE31_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3640 + store float 0x3FD8CA85A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3640 + store float 0x3FEB70D7A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3640 + store float 0x3FE36C87A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3640 + store float 0x3FE3197D40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3640 + store float 0x3FE5851540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3640 + store float 0x3FDA443840000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3640 + store float 0x3FDB9E4260000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3640 + store float 0x3FE3DC7F80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3640 + store float 0x3FB9E98360000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3640 + store float 0x3FD03F0A20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3640 + store float 0x3FD7857840000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3640 + store float 0x3FD2A87900000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3640 + store float 0x3FE3847600000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3640 + store float 0x3FD9C96A80000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3640 + store float 0x3FE99C5FE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3640 + store float 0x3FE1BEA320000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3640 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3640 + store float 0x3FDB9E1B80000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3640 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3640 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3640 + call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3640 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3643 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3645 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2858 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300630EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE497_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3646 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3646 + store float 0x3FD3BC1CE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3646 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3646 + store float 0x3FE1068C00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3646 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3646 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3646 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3646 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3646 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3646 + call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3646 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301082EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE817_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3649 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3649 + store float 0x3FE376C100000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3649 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3649 + store float 0x3FC34740E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3649 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3649 + store float 0x3FE16EFA00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3649 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3649 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3649 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3649 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3649 + call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3649 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300918EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE697_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3652 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3652 + store float 0x3FD55FD3A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3652 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3652 + store float 0x3FD85B1120000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3652 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3652 + store float 0x3FE8878D60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3652 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3652 + store float 0x3FD2DC1BE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3652 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3652 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3652 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3652 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3652 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3652 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3652 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3652 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3652 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3655 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3656 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm6EE6_S_refERA6_Kim(ptr addrspace(4) noundef align 4 dereferenceable(24) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300301EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300301EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE300_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3657 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3657 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3657 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !3657 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !3657 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE13_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3660 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300903EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE682_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3663 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE760_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3666 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300403EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3669 + store float 0x3FDEE47640000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3669 + store float 0x3FEA59C720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3669 + store float 0x3FEC09FFC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3669 + store float 0x3FE3F33D60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3669 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3669 + store float 0x3FD0343180000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3669 + store float 0x3FE782F7C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3669 + store float 0x3FD9A99760000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3669 + store float 0x3FD3EEC540000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3669 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3669 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3669 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3669 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3669 + store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3669 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3669 + store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3669 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3669 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3672 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %t) #1 comdat !srcloc !1367 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300591EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300591EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE466_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !663 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3673 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3673 + %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_tgammaDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3676 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300417EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE372_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.1936.218, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3677 + store i32 32393, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3677 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3677 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3677 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3677 + store half 0xH3B1B, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3677 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3677 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !3677 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !3677 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !3677 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !3677 + %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3677 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, i32 noundef %2) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3677 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3677 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3677 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 4, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 + %4 = load i32, ptr %resArg, align 4, !tbaa !1180 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !3680 + ret ptr addrspace(1) %0 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300519EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE430_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3682 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, i32 noundef 4999) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm17EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300877EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE656_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3588, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3685 + call spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a2) #2 comdat !srcloc !1459 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + %2 = load i32, ptr %a2, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp3.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3688 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3688 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3688 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3688 + store i32 %2, ptr %agg.tmp3.i, align 4, !tbaa !69, !noalias !3688 + %call4.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp3.i) #13, !noalias !3688 + %call5.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_fmaDv2_DF16_S_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i, <2 x half> noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300687EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300687EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE554_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE50_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3691 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3691 + store float 0x3FE51C1160000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3691 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3691 + store float 0x3FDC3D1580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3691 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3691 + store float 0x3FD5DB8120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3691 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3691 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3691 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3691 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3691 + call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3691 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300307EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300307EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE306_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300338EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300338EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE337_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm12EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(24) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(24) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301051EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE786_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2798 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3694 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3694 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3694 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !983 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3695 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3695 + %call3.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_atan2Dv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300310EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300310EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE309_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !352 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300539EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !1021 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3698 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3698 + store half 0xH3167, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3698 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3698 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3698 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3698 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !646 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3701 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3702 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3703 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !655 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3704 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3704 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_asinhDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm3EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3076 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3707 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3707 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3707 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3680 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE55_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3708 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3210 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3711 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3712 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300681EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300681EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE548_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(64) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 7) #13 + %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 + %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 8) #13 + %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 + store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 + %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 9) #13 + %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 + store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 + %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 10) #13 + %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 + store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 + %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 11) #13 + %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 + store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 + %arrayinit.element24 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 13 + %call25 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 12) #13 + %15 = load i32, ptr addrspace(4) %call25, align 4, !tbaa !126 + store i32 %15, ptr addrspace(4) %arrayinit.element24, align 4, !tbaa !126 + %arrayinit.element26 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 14 + %call27 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 13) #13 + %16 = load i32, ptr addrspace(4) %call27, align 4, !tbaa !126 + store i32 %16, ptr addrspace(4) %arrayinit.element26, align 4, !tbaa !126 + %arrayinit.element28 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 15 + %call29 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 14) #13 + %17 = load i32, ptr addrspace(4) %call29, align 4, !tbaa !126 + store i32 %17, ptr addrspace(4) %arrayinit.element28, align 4, !tbaa !126 + %arrayinit.element30 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 16 + %call31 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 15) #13 + %18 = load i32, ptr addrspace(4) %call31, align 4, !tbaa !126 + store i32 %18, ptr addrspace(4) %arrayinit.element30, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300735EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3713 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3713 + store float 0x3FE507DEC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3713 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3713 + store float 0x3FE40456A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3713 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3713 + store float 0x3FEAB59980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3713 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3713 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3713 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3713 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3713 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3713 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3713 + store float 0x3FD56E71C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3713 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3713 + store float 0x3FC074D700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3713 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3713 + store float 0x3FCE985D00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3713 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3713 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3713 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3713 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3713 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3713 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3713 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3713 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !3713 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3713 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3713 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3713 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3716 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3717 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300386EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE361_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %result = alloca %struct.privatePtrCheck.1740.208, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3719 + store float 0x3FE0E03B20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3719 + store float 0x3FDAF2D0E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3719 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3719 + store float 0x3FD791C6C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3719 + store float 0x3FDB105D20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3719 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3719 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3719 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3719 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3719 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3719 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3719 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !3719 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !3719 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !3719 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !3719 + %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !3719 + store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !3719 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3719 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i32, ptr %resArg, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3722 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm2EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayIiLm2EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %this, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %this, ptr align 2 %res_t, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr addrspace(4) %this, i64 0, i32 1 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %resArg, ptr align 2 %resArg_t, i64 6, i1 false), !tbaa.struct !206 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300110EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE109_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH3AC7, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3724 + store half 0xH3885, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3724 + call spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1815 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3727 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3727 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3727 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300088EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300088EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE87_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300399EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300399EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE366_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300618EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300618EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE485_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300789EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE612_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH391A, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3728 + store half 0xH36DF, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3728 + call spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300032EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300032EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE31_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + %0 = load i16, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp4, align 2, !tbaa !99 + %2 = load i16, ptr %a1, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp6, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %4 = load i32, ptr %PartialRes, align 4 + store i32 %4, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3731 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300160EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE159_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3732 + store float 0x3FC0C0B4A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3732 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3732 + store float 0x3FE23059C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3732 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3732 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3732 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3732 + call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3732 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3347 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3735 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3736 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3737 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3738 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3739 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.1972") align 8 %a1) #2 comdat !srcloc !1517 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.1972", align 8 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3740 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3740 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3740 + %call2.i = tail call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp1.i) #13, !noalias !3740 + %call3.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_ldexpDv2_DF16_Dv2_i(<2 x half> noundef %call.i, <2 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm16EE6_S_refERA16_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(32) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1266 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3743 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300274EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300274EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE273_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300022EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300022EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE21_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300037EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE36_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3744 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300231EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300231EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE230_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1975 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3747 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3748 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3749 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <16 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_iNS0_3vecIiLi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 64 dereferenceable(64) %t) #1 comdat !srcloc !142 { +entry: + %call = tail call spir_func noundef <16 x i32> @_ZNK4sycl3_V13vecIiLi16EEcvDv16_iEv(ptr addrspace(4) noundef align 64 dereferenceable_or_null(64) %t) #13 + ret <16 x i32> %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300654EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300654EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE521_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1703 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3750 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3750 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_exp10Dv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3753 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE61_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3754 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3754 + store float 0x3FCBFE2620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3754 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3754 + store float 0x3FD38D6720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3754 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3754 + store float 0x3FE7465060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3754 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3754 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3754 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3754 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3754 + call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3754 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !2273 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3757 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_sinhDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300220EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300220EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE219_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3760 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [17 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp29 = alloca %"struct.std::array.2405", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp29.ascast = addrspacecast ptr %ref.tmp29 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 60, ptr nonnull %ref.tmp29) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2405") align 4 %ref.tmp29.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm15EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(60) %ref.tmp29.ascast) #13 + call void @llvm.lifetime.end.p0(i64 60, ptr nonnull %ref.tmp29) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300936EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3761 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3761 + store half 0xH3963, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3761 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3761 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3761 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3761 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE12_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 57201268963452, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3764 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300989EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3767 + store float 0x3FD2FD0460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3767 + store float 0x3FC5CC3A00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3767 + store float 0x3FC7BA17E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3767 + store float 0x3FE8DE81C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3767 + store float 0x3FE31B1280000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3767 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3767 + store float 0x3FC7551340000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3767 + store float 0x3FE87C6260000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3767 + store float 0x3FE2BB6FE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3767 + store float 0x3FE2304FC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3767 + store float 0x3FDF9293E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3767 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3767 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3767 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3767 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3767 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !3767 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3767 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !3770 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3771 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3771 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3771 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3771 + %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_maxmagDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300750EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300750EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE577_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3774 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300928EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300928EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE707_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this) #1 comdat align 2 !srcloc !3775 { +entry: + ret i64 0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300596EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300596EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE467_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE780_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3776 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3779 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !617 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3781 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3781 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3781 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !3781 + %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_powrDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3784 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300117EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE116_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3785 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3785 + store float 0x3FE2ADF700000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3785 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3785 + store float 0x3FE0ED02E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3785 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3785 + store float 0x3FD3C338C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3785 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3785 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3785 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3785 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3785 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3785 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3785 + store float 0x3FD2447D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3785 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3785 + store float 0x3FC8F53DE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3785 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3785 + store float 0x3FE741E760000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3785 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3785 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3785 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3785 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3785 + call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3785 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3785 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm2EE6_S_refERA2_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(4) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !3270 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3788 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3788 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_acoshDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300412EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3791 + store float 0x3FD1E1A4A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3791 + store float 0x3FE5DBC540000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3791 + store float 0x3FE1080D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3791 + store float 0x3FCC7F1200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3791 + store float 0x3FCDB7F540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3791 + store float 0x3FBF5EB780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3791 + store float 0x3FC873BAC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3791 + store float 0x3FE30CFB40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3791 + store float 0x3FE3860E20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3791 + store float 0x3FE0B93E20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3791 + store float 0x3FE768D820000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3791 + store float 0x3FE130AB20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3791 + store float 0x3FD38741C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3791 + store float 0x3FE6CC5260000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3791 + store float 0x3FD9294DA0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3791 + store float 0x3FC15B09A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3791 + store float 0x3FD177BCA0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3791 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3791 + store float 0x3FDD2BCE60000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3791 + store float 0x3FE2E55080000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3791 + store float 0x3FE727CE60000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3791 + store float 0x3FE940D420000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3791 + store float 0x3FE70593E0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3791 + store float 0x3FE66FF5A0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3791 + store float 0x3FE24987A0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3791 + store float 0x3FD04AB500000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3791 + store float 0x3FE440D420000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3791 + store float 0x3FE4F9E480000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3791 + store float 0x3FD4205DC0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3791 + store float 0x3FD9668500000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3791 + store float 0x3FD571AA80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3791 + store float 0x3FECB04BC0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3791 + store float 0x3FE50BD360000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3791 + store float 0x3FD8CA2480000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3791 + store float 0x3FD05F2A00000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3791 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3791 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3791 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3791 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3791 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3791 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3791 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300076EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300076EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE75_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300129EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE128_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3794 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3794 + store float 0x3FC330BAE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3794 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3794 + store float 0x3FEC15E900000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3794 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3794 + store float 0x3FDC0A3220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3794 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3794 + store float 0x3FEA0BD280000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3794 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3794 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3794 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3794 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3794 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3794 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3794 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3794 + call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3794 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm4EE6_S_refERA4_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(8) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <16 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 32 dereferenceable(32) %t) #1 comdat !srcloc !971 { +entry: + %call = tail call spir_func noundef <16 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEcvDv16_DF16_Ev(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %t) #13 + ret <16 x half> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300287EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE286_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp3.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3797 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !3797 + store <2 x half> , ptr %agg.tmp3.i, align 4, !tbaa.struct !90, !noalias !3797 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp17 = alloca %"struct.std::array.2411", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp17.ascast = addrspacecast ptr %ref.tmp17 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 36, ptr nonnull %ref.tmp17) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2411") align 4 %ref.tmp17.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm9EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(36) %ref.tmp17.ascast) #13 + call void @llvm.lifetime.end.p0(i64 36, ptr nonnull %ref.tmp17) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3800 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3623 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3801 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300286EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE285_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + store half 0xH345F, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3802 + store half 0xH3818, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3802 + store half 0xH3810, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !3802 + call spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300180EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300180EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE179_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE68_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3805 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE72_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3808 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3808 + store float 0x3FDB734C00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3808 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3808 + store float 0x3FE2DC8060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3808 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3808 + store float 0x3FDA32BB40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3808 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3808 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3808 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3808 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3808 + call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3808 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300672EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE539_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3811 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !3811 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm8EE6_S_refERA8_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(16) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [8 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1059 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(24) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 7) #13 + %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 + %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 8) #13 + %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 + store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 + %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 9) #13 + %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 + store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 + %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 10) #13 + %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 + store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 + %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 11) #13 + %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 + store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300115EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300115EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE114_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300223EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300223EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE222_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(34) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3814 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3815 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EEC2EPU3AS0S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3817 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300921EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300921EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE700_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %left, ptr addrspace(4) noundef align 8 dereferenceable(8) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = trunc i64 %i.0 to i32 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %left, i32 noundef %conv) #13 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %right, i32 noundef %conv) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !3819 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300490EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300490EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE401_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300092EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300092EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE91_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3820 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300628EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE495_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3821 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300273EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300273EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE272_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !367 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3824 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3824 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_tanpiDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3827 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %agg.result, i64 noundef 0) #13 + %0 = load i64, ptr %PartialRes, align 8 + store i64 %0, ptr addrspace(4) %call, align 4 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + %call5 = call spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %agg.result, i64 noundef 2) #13 + store i32 %call5, ptr addrspace(4) %call6, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300351EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300351EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE350_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3828 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp23 = alloca %"struct.std::array.141.17", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp23.ascast = addrspacecast ptr %ref.tmp23 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp23) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.141.17") align 2 %ref.tmp23.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm12EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(24) %ref.tmp23.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp23) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301066EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301066EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE801_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300996EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3829 + store float 0x3FE78E7D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3829 + store float 0x3FD9E1BCE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3829 + store float 0x3FCB77A1E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3829 + store float 0x3FD21E3EE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3829 + store float 0x3FECAE62A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3829 + store float 0x3FE3ECEF00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3829 + store float 0x3FE0690CC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3829 + store float 0x3FE430EE20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3829 + store float 0x3FC2370600000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3829 + store float 0x3FD07D0B40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3829 + store float 0x3FDB4363E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3829 + store float 0x3FE8786340000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3829 + store float 0x3FC004A6A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3829 + store float 0x3FD1D9E260000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3829 + store float 0x3FE73B7E20000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3829 + store float 0x3FE339C620000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3829 + store float 0x3FC9886E00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3829 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3829 + store float 0x3FD77727E0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3829 + store float 0x3FE1D76200000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3829 + store float 0x3FCB9C86A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3829 + store float 0x3FC3A63780000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3829 + store float 0x3FEC8A0EC0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3829 + store float 0x3FE9321400000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3829 + store float 0x3FD4C4E700000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3829 + store float 0x3FE6B03C20000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3829 + store float 0x3FE4E1B220000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3829 + store float 0x3FBAE689C0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3829 + store float 0x3FE3583220000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3829 + store float 0x3FD0CB24A0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3829 + store float 0x3FC7784700000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3829 + store float 0x3FE5C70160000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3829 + store float 0x3FE2E75040000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3829 + store float 0x3FE9FD20E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3829 + store float 0x3FE1B97480000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3829 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3829 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3829 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3829 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3829 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3829 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3829 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_Z20__spirv_GlobalSize_xv() #5 comdat !srcloc !3832 { +entry: + %0 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalSize, align 32 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIS4_Lm4EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr addrspace(4) noundef align 16 dereferenceable(16) %t) #1 comdat !srcloc !971 { +entry: + %0 = load <8 x half>, ptr addrspace(4) %t, align 16, !tbaa !69 + tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IDv8_DF16_vEES7_(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.result, <8 x half> noundef %0) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301007EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE742_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300678EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE545_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3833 + store float 0x3FE9E63D80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3833 + store float 0x3FD719AA40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3833 + store float 0x3FE885CFA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3833 + store float 0x3FEB2305C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3833 + store float 0x3FEB5823E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3833 + store float 0x3FD9966F00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3833 + store float 0x3FD3452800000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3833 + store float 0x3FE3502760000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3833 + store float 0x3FBE82D0C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3833 + store float 0x3FEC8EE920000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3833 + store float 0x3FD487A760000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3833 + store float 0x3FDCEB41C0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3833 + store float 0x3FD48776E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3833 + store float 0x3FEAF5C480000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3833 + store float 0x3FE8C64700000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3833 + store float 0x3FE0EAD600000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3833 + store float 0x3FE26B66C0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3833 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3833 + store float 0x3FEB5B06E0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3833 + store float 0x3FC911DC00000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3833 + store float 0x3FC380A760000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3833 + store float 0x3FD2EBB180000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3833 + store float 0x3FC28784C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3833 + store float 0x3FE1965C00000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3833 + store float 0x3FD79FE620000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3833 + store float 0x3FE941C580000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3833 + store float 0x3FC498DA60000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3833 + store float 0x3FCB2F53A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3833 + store float 0x3FE1F66A00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3833 + store float 0x3FCEB87780000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3833 + store float 0x3FE6DA19A0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3833 + store float 0x3FCA84CAE0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3833 + store float 0x3FE0B7FD20000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3833 + store float 0x3FE3EC83A0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3833 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3833 + store float 0x3FD49E2080000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3833 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3833 + call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3833 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3833 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1723 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3836 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_log10Dv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE6_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3839 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3839 + store float 0x3FE59FDB40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3839 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3839 + store float 0x3FDAD1DC20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3839 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3839 + store float 0x3FE850E760000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3839 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3839 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3839 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3839 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3839 + call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3839 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2900 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300760EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE583_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3842 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !3842 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300523EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE434_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3845 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3845 + store float 0x3FC911A4C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3845 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3845 + store float 0x3FD1289220000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3845 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3845 + store float 0x3FD1B234E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3845 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3845 + store float 0x3FCCAAE540000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3845 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3845 + store float 0x3FE0681360000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3845 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3845 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3845 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3845 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3845 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3845 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3845 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, i32 noundef 7348) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3845 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300266EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300266EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE265_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301039EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE774_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300148EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300148EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE147_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm5EE6_S_refERA5_Kim(ptr addrspace(4) noundef align 4 dereferenceable(20) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [5 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300020EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE19_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3848 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3848 + store float 0x3FE8165E40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3848 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3848 + store float 0x3FC71A2A80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3848 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3848 + store float 0x3FCBC98000000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3848 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3848 + store float 0x3FE50F7440000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3848 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3848 + store float 0x3FC16E9580000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3848 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3848 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3848 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3848 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3848 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3848 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3848 + call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3848 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3851 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv21InitSizesSTGlobalSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !3852 { +entry: + %call = tail call spir_func noundef i64 @_ZN7__spirvL13getGlobalSizeILi0EEEmv() #13 + tail call spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301070EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE805_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3853 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3853 + store float 0x3FCCC5CF20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3853 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3853 + store float 0x3FD31AE360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3853 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3853 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3853 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3853 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3853 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3853 + call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3853 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp5 = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp5) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp5.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp5) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm9EE6_S_refERA9_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(18) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [9 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300890EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300890EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE669_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300131EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE130_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3856 + store float 0x3FEC7643E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3856 + store float 0x3FE654C3A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3856 + store float 0x3FD9FE1C20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3856 + store float 0x3FDB5AF920000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3856 + store float 0x3FD3E74E00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3856 + store float 0x3FE0CD5E40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3856 + store float 0x3FE6084520000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3856 + store float 0x3FE4C73500000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3856 + store float 0x3FDE1671A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3856 + store float 0x3FC1183500000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3856 + store float 0x3FEACA64C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3856 + store float 0x3FDB566080000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3856 + store float 0x3FDA622020000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3856 + store float 0x3FBA3CA8E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3856 + store float 0x3FCAF457E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3856 + store float 0x3FE9715160000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3856 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3856 + store float 0x3FE05B5260000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3856 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3856 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3856 + call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3856 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !3680 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm5EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !235 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3859 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_roundDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300228EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300228EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE227_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300113EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE112_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3862 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !3862 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301053EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE788_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3645, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3865 + call spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3868 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3870 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3871 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3870 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300683EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300683EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE550_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE759_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3872 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301020EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE755_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH38C9, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3875 + call spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3878 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3880 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300977EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3881 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3881 + store float 0x3FC69C8200000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3881 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3881 + store float 0x3FDB4187C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3881 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3881 + store float 0x3FD1501FE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3881 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3881 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3881 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3881 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3881 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3881 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3881 + store float 0x3FE94471A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3881 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3881 + store float 0x3FE62967E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3881 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3881 + store float 0x3FE9A36300000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3881 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3881 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3881 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3881 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3881 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3881 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3881 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3881 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !3881 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3881 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3881 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3881 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !2479 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300614EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE481_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3884 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300651EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300651EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE518_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300752EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3887 + store float 0x3FEC19B5A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3887 + store float 0x3FE472F160000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3887 + store float 0x3FCADFF0A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3887 + store float 0x3FEB980E60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3887 + store float 0x3FE9E17B60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3887 + store float 0x3FE64421C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3887 + store float 0x3FE038CB60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3887 + store float 0x3FE486ECC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3887 + store float 0x3FE1EA0780000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3887 + store float 0x3FE021C520000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3887 + store float 0x3FC5B75800000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3887 + store float 0x3FDA233680000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3887 + store float 0x3FDA7FC5E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3887 + store float 0x3FDDD7EC60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3887 + store float 0x3FE8584260000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3887 + store float 0x3FD5B95D20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3887 + store float 0x3FC7E087A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3887 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3887 + store float 0x3FD0D527A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3887 + store float 0x3FE176DD00000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3887 + store float 0x3FDB02A580000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3887 + store float 0x3FEC080E00000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3887 + store float 0x3FC9E854C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3887 + store float 0x3FE0697460000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3887 + store float 0x3FE7D24D80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3887 + store float 0x3FD513D880000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3887 + store float 0x3FEA0FF3E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3887 + store float 0x3FE859FE60000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3887 + store float 0x3FDBE50220000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3887 + store float 0x3FE6AD6F00000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3887 + store float 0x3FDC51B900000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3887 + store float 0x3FE73FDD80000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3887 + store float 0x3FD7B420C0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3887 + store float 0x3FE1A9D920000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3887 + store float 0x3FDB4F2200000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3887 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3887 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3887 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3887 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3887 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3887 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3887 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_Z27__spirv_LocalInvocationId_xv() #5 comdat !srcloc !3890 { +entry: + %0 = load i64, ptr addrspace(1) @__spirv_BuiltInLocalInvocationId, align 32 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300524EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300524EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE435_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2621 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { +entry: + %call = tail call spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iS4_EET_T0_(ptr noundef %call) #13 + ret ptr %call1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !208 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3891 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3891 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_log1pDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !3254 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3894 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_log2Dv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300415EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3897 + store float 0x3FEC7F6C40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3897 + store float 0x3FD78A56C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3897 + store float 0x3FDD1DBBA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3897 + store float 0x3FD7F9AD20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3897 + store float 0x3FD6D9A600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3897 + store float 0x3FD2D0EC80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3897 + store float 0x3FD8778020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3897 + store float 0x3FD8EF9D40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3897 + store float 0x3FD8C05B20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3897 + store float 0x3FEB777780000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3897 + store float 0x3FD99C2EC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3897 + store float 0x3FBD2ADE60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3897 + store float 0x3FEBE66BC0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3897 + store float 0x3FE21307E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3897 + store float 0x3FD62E0D80000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3897 + store float 0x3FE7853CC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3897 + store float 0x3FBE1B8FC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3897 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3897 + store float 0x3FE913F600000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3897 + store float 0x3FC8F78A00000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3897 + store float 0x3FBE8E4740000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3897 + store float 0x3FCB7B4D40000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3897 + store float 0x3FE894DCE0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3897 + store float 0x3FC1FEB280000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3897 + store float 0x3FEA97C700000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3897 + store float 0x3FD55767E0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3897 + store float 0x3FD07C6B80000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3897 + store float 0x3FE3F810E0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3897 + store float 0x3FD2CFE420000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3897 + store float 0x3FE1AB8900000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3897 + store float 0x3FE6C17F80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3897 + store float 0x3FE44AF460000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3897 + store float 0x3FD6A66840000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3897 + store float 0x3FE369C740000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3897 + store float 0x3FE34C28E0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3897 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3897 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3897 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3897 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3897 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3897 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3897 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300733EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE572_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1778.210, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3900 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3900 + store float 0x3FECBEAA20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3900 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3900 + store float 0x3FC8B07340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3900 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3900 + store float 0x3FD5D2DAE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3900 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3900 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3900 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3900 + store float 0x3FDE553400000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3900 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3900 + store float 0x3FDA1A9380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3900 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3900 + store float 0x3FD05B9580000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3900 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3900 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3900 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3900 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !3900 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3900 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !3900 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !3900 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3900 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3903 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3903 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3903 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !3903 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS3i(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !3903 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300908EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE687_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3906 + store float 0x3FE03CE8E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3906 + store float 0x3FE1895D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3906 + store float 0x3FE72827C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3906 + store float 0x3FD83D5660000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3906 + store float 0x3FE1C99440000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3906 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3906 + call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3906 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EEC2EPU3AS0i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300602EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE469_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH309A, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3909 + call spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300208EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE207_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3912 + store float 0x3FE0705360000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3912 + store float 0x3FE2C57480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3912 + store float 0x3FD10DC9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3912 + store float 0x3FE55402C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3912 + store float 0x3FDB230B00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3912 + store float 0x3FBDEF7840000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3912 + store float 0x3FCA8C8820000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3912 + store float 0x3FDA46DA00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3912 + store float 0x3FE9DC5080000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3912 + store float 0x3FE1A99B20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3912 + store float 0x3FEAA7FB60000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3912 + store float 0x3FEAFEAA60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3912 + store float 0x3FC5B01420000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3912 + store float 0x3FE24220E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3912 + store float 0x3FD7872040000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3912 + store float 0x3FE02C8860000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3912 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3912 + store float 0x3FDDB90E00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3912 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3912 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3912 + call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3912 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE1_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 60233562076394, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3915 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300608EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300608EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE475_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300405EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE368_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1854.214, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3918 + store float 0x3FE5777720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3918 + store float 0x3FE914E720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3918 + store float 0x3FD7A6D360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3918 + store float 0x3FEBA2A440000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3918 + store float 0x3FE19B0BE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3918 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3918 + store float 0x3FD56F2280000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3918 + store float 0x3FCD76E8E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3918 + store float 0x3FE5CB5600000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3918 + store float 0x3FD4CAABA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3918 + store float 0x3FE7E84E40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3918 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3918 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3918 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !3918 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3918 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !3918 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !3918 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3918 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300599EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3921 + store float 0x3FD0F0B080000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3921 + store float 0x3FE77ACE00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3921 + store float 0x3FDA03D8A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3921 + store float 0x3FD62A6AA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3921 + store float 0x3FBFB2A200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3921 + store float 0x3FE75A0E80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3921 + store float 0x3FE2F16240000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3921 + store float 0x3FD97C71E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3921 + store float 0x3FDDDBBDE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3921 + store float 0x3FE204E4C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3921 + store float 0x3FDB378600000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3921 + store float 0x3FD065A7E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3921 + store float 0x3FE18DF1E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3921 + store float 0x3FD41A1840000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3921 + store float 0x3FE38927E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3921 + store float 0x3FD66696E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3921 + store float 0x3FE294D160000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3921 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3921 + store i32 22172, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3921 + store i32 -17960, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3921 + store i32 16728, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3921 + store i32 -5876, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3921 + store i32 -28053, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3921 + store i32 -5439, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3921 + store i32 31526, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3921 + store i32 11441, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3921 + store i32 -2869, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3921 + store i32 -36, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3921 + store i32 31593, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3921 + store i32 29719, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3921 + store i32 -51, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3921 + store i32 -18404, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3921 + store i32 -15255, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3921 + store i32 -13128, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3921 + store i32 2799, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !3921 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3921 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3921 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3921 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3921 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3921 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3921 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3924 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300268EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300268EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE267_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !131 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300801EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300801EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE624_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3925 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %t) #1 comdat !srcloc !971 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca float, align 4 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %0 = load half, ptr addrspace(4) %t, align 2, !tbaa !99 + %conv = fpext half %0 to float + store float %conv, ptr %ref.tmp, align 4, !tbaa !82 + call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !372 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3927 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3927 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3927 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1225 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3928 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_exp2Dv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !2018 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3931 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3931 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_cbrtDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3934 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3936 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3937 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3936 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp5 = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp5) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp5.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp5) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300220EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE219_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3900, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3938 + call spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300172EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300172EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE171_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE28_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3941 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3941 + store float 0x3FE8A4E580000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3941 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3941 + store float 0x3FD33F6CC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3941 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3941 + store float 0x3FE18D2640000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3941 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3941 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3941 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3941 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3941 + call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3941 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this) #4 comdat align 2 !srcloc !569 { +entry: + br label %arrayinit.body + +arrayinit.body: ; preds = %arrayinit.body, %entry + %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] + %arrayinit.cur.ptr = getelementptr inbounds i32, ptr addrspace(4) %this, i64 %arrayinit.cur.idx + store i32 0, ptr addrspace(4) %arrayinit.cur.ptr, align 4, !tbaa !126 + %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 + %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 3 + br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body + +arrayinit.end2: ; preds = %arrayinit.body + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3944 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300876EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp35.i = alloca i32, align 4 + %ref.tmp36.i = alloca i32, align 4 + %ref.tmp37.i = alloca i32, align 4 + %ref.tmp38.i = alloca i32, align 4 + %ref.tmp39.i = alloca i32, align 4 + %ref.tmp40.i = alloca i32, align 4 + %ref.tmp41.i = alloca i32, align 4 + %ref.tmp42.i = alloca i32, align 4 + %ref.tmp43.i = alloca i32, align 4 + %ref.tmp44.i = alloca i32, align 4 + %ref.tmp45.i = alloca i32, align 4 + %ref.tmp46.i = alloca i32, align 4 + %ref.tmp47.i = alloca i32, align 4 + %ref.tmp48.i = alloca i32, align 4 + %ref.tmp49.i = alloca i32, align 4 + %ref.tmp50.i = alloca i32, align 4 + %ref.tmp51.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp54.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp54.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) + %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) + %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) + %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) + %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) + %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) + %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) + %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) + %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) + %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) + %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) + %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) + %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) + %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) + %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) + %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) + %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3946 + store float 0x3FD30EF220000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3946 + store float 0x3FE290BD20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3946 + store float 0x3FE48F3580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3946 + store float 0x3FE3D80CE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3946 + store float 0x3FCCE6CF80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3946 + store float 0x3FBBA43E00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3946 + store float 0x3FDF4A55C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3946 + store float 0x3FEA404960000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3946 + store float 0x3FCB155960000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3946 + store float 0x3FD59EA760000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3946 + store float 0x3FEB40FE00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3946 + store float 0x3FEC8901E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3946 + store float 0x3FC66838A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3946 + store float 0x3FEC0746A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3946 + store float 0x3FC0ECC6E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3946 + store float 0x3FE2A21D80000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3946 + store float 0x3FEBD41DE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3946 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3946 + store float 0x3FD73D28A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3946 + store float 0x3FD380F680000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3946 + store float 0x3FDEF05460000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3946 + store float 0x3FCEF9E160000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3946 + store float 0x3FCF5EDBE0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3946 + store float 0x3FE4FB8020000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3946 + store float 0x3FE87CE240000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3946 + store float 0x3FE637F640000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3946 + store float 0x3FC468FBC0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3946 + store float 0x3FD8688B20000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3946 + store float 0x3FEB2E13C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3946 + store float 0x3FD5DB1EA0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3946 + store float 0x3FEAD83C60000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3946 + store float 0x3FD5CFF320000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3946 + store float 0x3FD8CC24C0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3946 + store float 0x3FDA128F40000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3946 + store float 0x3FC22B91A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3946 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !3946 + store i32 -11292, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !3946 + store i32 16478, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !3946 + store i32 -26891, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !3946 + store i32 4507, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !3946 + store i32 -25532, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !3946 + store i32 22027, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !3946 + store i32 10881, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !3946 + store i32 -5211, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !3946 + store i32 23851, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !3946 + store i32 1473, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !3946 + store i32 -5604, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !3946 + store i32 -11169, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !3946 + store i32 27764, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !3946 + store i32 -958, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !3946 + store i32 8575, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !3946 + store i32 21820, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !3946 + store i32 -26519, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !3946 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !3946 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3946 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3946 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !3946 + store i64 %0, ptr %agg.tmp54.i, align 8, !tbaa !128, !noalias !3946 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp54.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3946 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp54.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300534EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300534EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE445_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300209EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300209EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE208_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !243 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3949 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3949 + %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_erfDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3952 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3953 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3953 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_sqrtDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1099 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3956 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3956 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3956 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3956 + %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fmaxDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300806EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE629_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3959 + store float 0x3FE9721AE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3959 + store float 0x3FE1D57880000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3959 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !3959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3959 + store float 0x3FE1D6D400000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3959 + store float 0x3FEA7C8FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3959 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3959 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3959 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3959 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !3959 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3959 + call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !3959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300931EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE710_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3962 + store float 0x3FD8D99420000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3962 + store float 0x3FE23C4A60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3962 + store float 0x3FEAFA7BA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3962 + store float 0x3FDCE4E320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3962 + store float 0x3FD73D52C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3962 + store float 0x3FC91E07E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3962 + store float 0x3FE43A8E60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3962 + store float 0x3FEC28A8A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3962 + store float 0x3FCF93FE40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3962 + store float 0x3FE1F2B620000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3962 + store float 0x3FECB87C00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3962 + store float 0x3FE1495A80000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3962 + store float 0x3FEB34AEA0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3962 + store float 0x3FE73C11C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3962 + store float 0x3FD4F3CF40000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3962 + store float 0x3FE1B11280000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3962 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3962 + store float 0x3FE5488920000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3962 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3962 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3962 + call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3962 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300015EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300015EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE14_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm5EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !3440 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300487EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE398_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3965 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !3965 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300623EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300623EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE490_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1006 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300403EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300403EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3, i32 noundef %a1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !3968 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3969 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3971 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3972 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3973 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1001 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3974 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3974 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3974 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300999EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300999EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE734_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp13, ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp1, i64 16, i1 false) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !3975 + %call2.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !3975 + %call3.i = call spir_func noundef <8 x half> @_Z16__spirv_ocl_fmaxDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300064EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300064EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE63_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300992EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300992EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE731_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300787EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300787EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE610_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300798EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300798EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE621_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(32) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 7) #13 + %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 + %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 8) #13 + %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 + store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 + %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 9) #13 + %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 + store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 + %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 10) #13 + %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 + store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 + %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 11) #13 + %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 + store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 + %arrayinit.element24 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 13 + %call25 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 12) #13 + %15 = load i16, ptr addrspace(4) %call25, align 2, !tbaa !99 + store i16 %15, ptr addrspace(4) %arrayinit.element24, align 2, !tbaa !99 + %arrayinit.element26 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 14 + %call27 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 13) #13 + %16 = load i16, ptr addrspace(4) %call27, align 2, !tbaa !99 + store i16 %16, ptr addrspace(4) %arrayinit.element26, align 2, !tbaa !99 + %arrayinit.element28 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 15 + %call29 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 14) #13 + %17 = load i16, ptr addrspace(4) %call29, align 2, !tbaa !99 + store i16 %17, ptr addrspace(4) %arrayinit.element28, align 2, !tbaa !99 + %arrayinit.element30 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 16 + %call31 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 15) #13 + %18 = load i16, ptr addrspace(4) %call31, align 2, !tbaa !99 + store i16 %18, ptr addrspace(4) %arrayinit.element30, align 2, !tbaa !99 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #4 comdat align 2 !srcloc !3978 { +entry: + tail call spir_func void @_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300174EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300174EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE173_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300676EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300676EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE543_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300464EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE387_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.2307.234, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3979 + store float 0x3FE12332A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3979 + store float 0x3FD95C0800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3979 + store float 0x3FEAC5C440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3979 + store float 0x3FD4159E80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3979 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3979 + store i32 15153, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3979 + store i32 -25694, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3979 + store i32 -24555, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3979 + store i32 20798, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3979 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3979 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3979 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !3979 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3979 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3979 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3979 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !3979 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !3979 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !3979 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !3979 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3979 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300457EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300457EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300893EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE672_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2156", align 64 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3982 + store <16 x i32> , ptr %agg.tmp2.i, align 64, !tbaa.struct !689, !noalias !3982 + call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3985 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE34_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 60804664015114, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3986 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300729EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1748.209, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 + store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300729EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300221EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE220_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3989 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !716 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3992 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3992 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_atanDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300644EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300644EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE511_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300761EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300761EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE584_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300669EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE536_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3995 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !3995 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !3998 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301081EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE816_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3999 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3999 + store float 0x3FDB5DC120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3999 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3999 + store float 0x3FC25C1820000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3999 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3999 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3999 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3999 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3999 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3999 + call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3999 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !362 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4002 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_atanhDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300483EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300483EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE394_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300736EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4005 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4005 + store float 0x3FE4CBEDA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4005 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4005 + store float 0x3FD7719020000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4005 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4005 + store float 0x3FC8D791C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4005 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4005 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4005 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4005 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4005 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4005 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4005 + store float 0x3FE27439C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4005 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4005 + store float 0x3FEA9137C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4005 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4005 + store float 0x3FC4904A20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4005 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4005 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4005 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4005 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4005 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4005 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4005 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4005 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !4005 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4005 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4005 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4005 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300164EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE163_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4008 + store float 0x3FDECBCAA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4008 + store float 0x3FE16E7A60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4008 + store float 0x3FE11CB4E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4008 + store float 0x3FE8350BE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4008 + store float 0x3FD7FB2FE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4008 + store float 0x3FE8030740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4008 + store float 0x3FC4FD9D00000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4008 + store float 0x3FDC4CC860000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4008 + store float 0x3FD8705480000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4008 + store float 0x3FDD855BA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4008 + store float 0x3FE889B0A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4008 + store float 0x3FE05142C0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4008 + store float 0x3FEC793840000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4008 + store float 0x3FE940DE80000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4008 + store float 0x3FC8F84BC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4008 + store float 0x3FD69FF600000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4008 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4008 + store float 0x3FBE411220000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4008 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4008 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4008 + call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4008 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300672EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300672EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE539_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300898EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300898EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE677_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300179EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300179EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE178_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2765 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301072EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE807_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300535EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE446_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4011 + store float 0x3FC9D05840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4011 + store float 0x3FEA8CC300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4011 + store float 0x3FCD600E80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4011 + store float 0x3FD7DDFDC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4011 + store float 0x3FE00879C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4011 + store float 0x3FE948CE80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4011 + store float 0x3FE6892920000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4011 + store float 0x3FE24DDEA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4011 + store float 0x3FEC410280000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4011 + store float 0x3FE05EFDA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4011 + store float 0x3FD06127A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4011 + store float 0x3FDF6BD440000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4011 + store float 0x3FD97E5200000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4011 + store float 0x3FDA9B6BE0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4011 + store float 0x3FDFC62380000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4011 + store float 0x3FE83AA780000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4011 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4011 + store float 0x3FE12F9840000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4011 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4011 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4011 + call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4011 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300617EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE484_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4014 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EE4sizeEv() #1 comdat align 2 !srcloc !587 { +entry: + ret i64 16 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300764EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300764EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE587_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300765EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300765EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE588_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300135EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300135EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE134_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE741_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4017 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4017 + store float 0x3FE7527780000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4017 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4017 + store float 0x3FE49DFB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4017 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4017 + store float 0x3FD1683EE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4017 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4017 + store float 0x3FCB4BB300000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4017 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4017 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4017 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4017 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4017 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4017 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4017 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4017 + call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4017 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300979EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4020 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4020 + store float 0x3FD8657F80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4020 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4020 + store float 0x3FE8582FE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4020 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4020 + store float 0x3FE5A0C320000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4020 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4020 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4020 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4020 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4020 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4020 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4020 + store float 0x3FEA876720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4020 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4020 + store float 0x3FD97CBFA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4020 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4020 + store float 0x3FECB32CA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4020 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4020 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4020 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4020 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4020 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4020 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4020 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4020 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !4020 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4020 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4020 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4020 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %t) #1 comdat !srcloc !1367 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300534EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE445_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4023 + store float 0x3FD8FFF760000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4023 + store float 0x3FBC93C940000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4023 + store float 0x3FCBE03F40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4023 + store float 0x3FE4367AE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4023 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4023 + store float 0x3FD48E9EC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4023 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4023 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4023 + call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4023 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300421EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300421EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !730 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300752EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1900.217, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300752EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4026 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !843 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4027 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_truncDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300242EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE241_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3923, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4030 + call spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !332 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4033 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4033 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_logbDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300290EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE289_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp3.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4036 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4036 + store <8 x half> , ptr %agg.tmp3.i, align 16, !tbaa.struct !209, !noalias !4036 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300388EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1748.209, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 + store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300388EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4039 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4040 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4040 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_fabsDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !526 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300132EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE131_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH397D, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4043 + call spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1099 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4046 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4046 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4046 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4046 + %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fmaxDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp15 = alloca %"struct.std::array.2412", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp15.ascast = addrspacecast ptr %ref.tmp15 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp15) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2412") align 4 %ref.tmp15.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm8EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(32) %ref.tmp15.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp15) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300585EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300585EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE464_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300354EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4049 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4049 + store half 0xH3967, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4049 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4049 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !4049 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4049 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300126EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE125_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4052 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300244EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300244EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE243_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300853EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300853EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE648_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv17initWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !4055 { +entry: + tail call spir_func void @_ZN7__spirv24InitSizesSTWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EEC2EPU3AS0i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3462 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE60_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4056 + store float 0x3FE824D220000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4056 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4056 + store float 0x3FC06E9440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4056 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4056 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4056 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4056 + call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4056 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300055EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300055EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE54_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(12) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !3274 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300529EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE440_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4059 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300681EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE548_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 63596370212062, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4062 + store i64 64992342586622, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4062 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm10EE6_S_refERA10_Kim(ptr addrspace(4) noundef align 4 dereferenceable(40) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301063EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE798_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4065 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !3254 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4066 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4066 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_log2Dv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4069 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300338EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE337_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp18.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp18.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4070 + store float 0x3FEADAC900000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4070 + store float 0x3FD5AB7BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4070 + store float 0x3FDD312CA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4070 + store float 0x3FE3793B80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4070 + store float 0x3FD2878040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4070 + store float 0x3FE3C53D80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4070 + store float 0x3FEA52E3A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4070 + store float 0x3FD614D120000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4070 + store float 0x3FD93CD5A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4070 + store float 0x3FDD6FD940000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4070 + store float 0x3FDA2DF180000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4070 + store float 0x3FE3AB4720000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4070 + store float 0x3FC21F2440000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4070 + store float 0x3FE7159E20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4070 + store float 0x3FD5027040000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4070 + store float 0x3FE31F9440000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4070 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4070 + store float 0x3FDC1A2060000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4070 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4070 + store half 0xH38B6, ptr %agg.tmp18.i, align 2, !tbaa.struct !119, !noalias !4070 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp18.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4070 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp18.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300662EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE529_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4073 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4073 + store <16 x half> , ptr %agg.tmp3.i, align 32, !tbaa.struct !68, !noalias !4073 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm4EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300512EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300512EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE423_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Size) #4 comdat align 2 !srcloc !4076 { +entry: + %0 = load i64, ptr %Size, align 8 + store i64 %0, ptr addrspace(4) %this, align 8 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + tail call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %MemRange) #13 + %Offset = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + tail call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %Offset) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2156", align 64 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %a1.addr = alloca i32, align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.2156", align 64 + %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call spir_func void @_ZN4sycl3_V13vecIiLi16EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 64 dereferenceable_or_null(64) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp13) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %agg.tmp13, ptr noundef nonnull align 64 dereferenceable(64) %agg.tmp1, i64 64, i1 false) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !4077 + %call2.i = call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp13) #13, !noalias !4077 + %call3.i = call spir_func noundef <16 x half> @_Z17__spirv_ocl_ldexpDv16_DF16_Dv16_i(<16 x half> noundef %call.i, <16 x i32> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(30) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 7) #13 + %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 + %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 8) #13 + %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 + store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 + %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 9) #13 + %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 + store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 + %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 10) #13 + %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 + store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 + %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 11) #13 + %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 + store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 + %arrayinit.element24 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 13 + %call25 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 12) #13 + %15 = load i16, ptr addrspace(4) %call25, align 2, !tbaa !99 + store i16 %15, ptr addrspace(4) %arrayinit.element24, align 2, !tbaa !99 + %arrayinit.element26 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 14 + %call27 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 13) #13 + %16 = load i16, ptr addrspace(4) %call27, align 2, !tbaa !99 + store i16 %16, ptr addrspace(4) %arrayinit.element26, align 2, !tbaa !99 + %arrayinit.element28 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 15 + %call29 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 14) #13 + %17 = load i16, ptr addrspace(4) %call29, align 2, !tbaa !99 + store i16 %17, ptr addrspace(4) %arrayinit.element28, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300572EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300572EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE459_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3469 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300491EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300491EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE402_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300917EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300917EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE696_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %left, ptr addrspace(4) noundef align 16 dereferenceable(16) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = trunc i64 %i.0 to i32 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %left, i32 noundef %conv) #13 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %right, i32 noundef %conv) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !4080 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3643 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300899EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300899EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE678_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2585 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300754EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4081 + store float 0x3FDB79EAC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4081 + store float 0x3FE0E49580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4081 + store float 0x3FE007A0A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4081 + store float 0x3FE3A9B820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4081 + store float 0x3FD256A340000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4081 + store float 0x3FCD75E500000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4081 + store float 0x3FD27D6DA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4081 + store float 0x3FC68615C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4081 + store float 0x3FD4F741E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4081 + store float 0x3FD395CF00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4081 + store float 0x3FE18EA480000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4081 + store float 0x3FE7570920000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4081 + store float 0x3FD4EB2060000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4081 + store float 0x3FE2E9F1A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4081 + store float 0x3FD7044FC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4081 + store float 0x3FC77EA0A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4081 + store float 0x3FDAC98420000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4081 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4081 + store float 0x3FC48E7140000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4081 + store float 0x3FE0E7AD80000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4081 + store float 0x3FEC766420000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4081 + store float 0x3FBDFE50A0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4081 + store float 0x3FDF2B44E0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4081 + store float 0x3FD1B31B80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4081 + store float 0x3FEBAE9A00000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4081 + store float 0x3FDC063C60000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4081 + store float 0x3FE27DB1C0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4081 + store float 0x3FDA513840000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4081 + store float 0x3FDCBE1F00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4081 + store float 0x3FC5476820000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4081 + store float 0x3FD4E92920000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4081 + store float 0x3FE8F634E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4081 + store float 0x3FDD777DA0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4081 + store float 0x3FE5967BC0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4081 + store float 0x3FD4F84E80000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4081 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4081 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4081 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4081 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4081 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !4081 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4081 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300484EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE395_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 54787585422701, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4084 + store i64 63519081118170, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4084 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4087 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301003EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE738_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE737_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4088 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(24) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp9, align 2, !tbaa !99 + %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp11, align 2, !tbaa !99 + %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a2.ascast, i64 noundef 16) #13 + %2 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp13, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 + %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call15, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a2, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %4 = load i32, ptr %PartialRes, align 4 + store i32 %4, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4091 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300409EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4092 + store float 0x3FE3140120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4092 + store float 0x3FE3FB8A20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4092 + store float 0x3FEA186CE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4092 + store float 0x3FE7799480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4092 + store float 0x3FE21156E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4092 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4092 + store float 0x3FBC183040000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4092 + store float 0x3FDB868B80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4092 + store float 0x3FC40F0820000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4092 + store float 0x3FEBDA2B60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4092 + store float 0x3FE85CA120000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4092 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4092 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4092 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4092 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4092 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4092 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4092 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %t) #1 comdat !srcloc !1175 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t.ascast) #13 + ret <8 x half> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE782_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4095 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301057EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE792_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE5_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4098 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4098 + store float 0x3FE13F27E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4098 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4098 + store float 0x3FBC79CA20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4098 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4098 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4098 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4098 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4098 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4098 + call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4098 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4101 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4101 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4101 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !4101 + %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !4101 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300872EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300872EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE655_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4104 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.52.6", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp7 = alloca %"class.sycl::_V1::marray.2297", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp7.ascast = addrspacecast ptr %ref.tmp7 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp7) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %ref.tmp7.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm4EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(16) %ref.tmp7.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp7) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300084EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE83_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !239 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4106 + %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_logDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <4 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_iNS0_3vecIiLi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t) #1 comdat !srcloc !142 { +entry: + %call = tail call spir_func noundef <4 x i32> @_ZNK4sycl3_V13vecIiLi4EEcvDv4_iEv(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %t) #13 + ret <4 x i32> %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm5EE4sizeEv() #1 comdat align 2 !srcloc !325 { +entry: + ret i64 5 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4109 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !332 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4110 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_logbDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !783 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4113 + %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_expDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300173EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300173EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE172_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4116 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4117 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300598EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2422, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300598EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300730EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300730EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300222EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300222EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE221_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300243EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE242_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4118 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(48) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 7) #13 + %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 + %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 8) #13 + %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 + store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 + %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 9) #13 + %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 + store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 + %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 + %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 10) #13 + %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 + store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 + %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 + %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 11) #13 + %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 + store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300114EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE113_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4121 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4121 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300519EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300519EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE430_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr addrspace(1) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2997 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4124 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4125 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4126 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300068EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE67_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE742_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4127 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4127 + store float 0x3FE89A77E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4127 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4127 + store float 0x3FE8A87D00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4127 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4127 + store float 0x3FDC7F4BC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4127 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4127 + store float 0x3FDF4365A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4127 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4127 + store float 0x3FE941FDE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4127 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4127 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4127 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4127 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4127 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4127 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4127 + call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4127 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm17EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4130 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300530EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE441_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4131 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE45_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 62187708299326, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4134 + call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm6EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(12) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(12) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%union.anon) align 8 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr addrspace(1) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300632EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE499_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4137 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4137 + store float 0x3FE5FB4F40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4137 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4137 + store float 0x3FBA473880000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4137 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4137 + store float 0x3FE592B440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4137 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4137 + store float 0x3FD9A12C60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4137 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4137 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4137 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4137 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4137 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4137 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4137 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4137 + call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4137 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300122EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300122EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE121_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4140 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300760EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300760EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE583_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300888EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300888EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE667_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300804EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE627_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4141 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4141 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300863EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300863EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300177EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300177EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE176_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4144 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1155 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4145 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4145 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4145 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !4145 + %call7.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_minmagDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4148 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !2555 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4149 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_asinDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4152 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !3558 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4153 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4153 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_sinpiDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3275 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4156 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300086EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300086EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE85_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3878 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4157 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4158 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301064EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE799_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH37EB, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4159 + call spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300582EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4162 + store float 0x3FDC612CE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4162 + store float 0x3FC8573940000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4162 + store float 0x3FC74ACAC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4162 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4162 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4162 + store i32 -7450, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4162 + store i32 -6487, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4162 + store i32 15507, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4162 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4162 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4162 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4162 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4162 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !4162 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4162 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4162 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4162 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIS4_Lm4EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 2 dereferenceable(8) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %Arr, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %Arr, i64 noundef 1) #13 + %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element3 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 2 + %call4 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %Arr, i64 noundef 2) #13 + %3 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element3, align 2, !tbaa !99 + %arrayinit.element5 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 3 + %call6 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %Arr, i64 noundef 3) #13 + %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element5, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4165 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4167 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4167 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4167 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300240EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300240EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE239_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4168 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300398EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE365_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.1816.212, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4169 + store float 0x3FD76057C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4169 + store float 0x3FEC3D8F60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4169 + store float 0x3FE18B7840000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4169 + store float 0x3FEB5CA980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4169 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4169 + store float 0x3FBADF7DE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4169 + store float 0x3FE7FA6780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4169 + store float 0x3FE336A220000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4169 + store float 0x3FE91FBD60000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4169 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4169 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4169 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4169 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4169 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4169 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4169 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !4169 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !4169 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !4169 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !4169 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !4169 + store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !4169 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4169 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4172 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1846 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300769EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE592_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 55723691424492, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4173 + store i64 62638692578978, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4173 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4176 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4177 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4177 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_roundDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !376 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4180 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4180 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4180 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4180 + %call3.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_hypotDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300744EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE575_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1854.214, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4183 + store float 0x3FE34A1D20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4183 + store float 0x3FEB265000000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4183 + store float 0x3FE7DAEC00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4183 + store float 0x3FEA1B6F00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4183 + store float 0x3FD969B1C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4183 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4183 + store float 0x3FC6667340000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4183 + store float 0x3FCBB15F60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4183 + store float 0x3FE3980300000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4183 + store float 0x3FE76B79A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4183 + store float 0x3FDD03D8C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4183 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4183 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4183 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !4183 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4183 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !4183 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !4183 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4183 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300657EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE524_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + store half 0xH36B8, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4186 + store half 0xH3972, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4186 + store half 0xH393A, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !4186 + call spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm4EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm17EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300127EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE126_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4189 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4189 + store float 0x3FBEA17F20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4189 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4189 + store float 0x3FC1677C00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4189 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4189 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4189 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4189 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4189 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4189 + call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4189 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm1EE6_S_refERA1_Kim(ptr addrspace(4) noundef align 4 dereferenceable(4) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [1 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4192 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301033EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE768_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 54405303450034, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4193 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %left, ptr addrspace(4) noundef align 2 dereferenceable(4) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !4196 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300501EN4sycl3_V16marrayIiLm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE412_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.2297", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4197 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4197 + store float 0x3FE2CE0C40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4197 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4197 + store float 0x3FEA93F100000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4197 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4197 + store float 0x3FE55B7FC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4197 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4197 + store float 0x3FE508A140000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4197 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4197 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4197 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4197 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4197 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4197 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4197 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4197 + call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4197 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm4EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 4 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4200 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm17EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm2EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4201 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300918EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300918EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE697_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4202 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4203 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !621 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1198 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4205 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4205 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !4205 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !4205 + %call3.i = tail call spir_func noundef <2 x half> @_Z19__spirv_ocl_atan2piDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300419EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !2696 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4208 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4208 + store half 0xH3287, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4208 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4208 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !4208 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4208 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 + %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 + %conv = fptrunc float %call to half + %splat.splatinsert = insertelement <8 x half> poison, half %conv, i64 0 + %splat.splat = shufflevector <8 x half> %splat.splatinsert, <8 x half> poison, <8 x i32> zeroinitializer + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + store <8 x half> %splat.splat, ptr addrspace(4) %this, align 16, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1049 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300255EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300255EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE254_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1006 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !424 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4211 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4211 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4211 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4211 + %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fmodDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300180EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE179_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4214 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300065EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300065EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE64_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2262 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4217 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4217 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4217 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3717 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp11 = alloca %"struct.std::array.2414", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp11.ascast = addrspacecast ptr %ref.tmp11 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp11) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2414") align 4 %ref.tmp11.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm6EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(24) %ref.tmp11.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp11) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4218 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300677EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE544_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4219 + store float 0x3FEAC92600000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4219 + store float 0x3FD7A030A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4219 + store float 0x3FE253C7A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4219 + store float 0x3FEC0D0000000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4219 + store float 0x3FEA8083E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4219 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4219 + store float 0x3FEB98FFC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4219 + store float 0x3FD841CAE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4219 + store float 0x3FD30FF8C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4219 + store float 0x3FE47F1740000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4219 + store float 0x3FD0A38F40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4219 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4219 + call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4219 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4219 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !4222 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4223 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4223 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !4223 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !4223 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_hypotDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300021EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300021EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE20_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300575EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4226 + store float 0x3FD56316E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4226 + store float 0x3FD25A3E40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4226 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4226 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4226 + store i32 -18902, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !4226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4226 + store i32 3766, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4226 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4226 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4226 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4226 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4226 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4226 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4226 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4226 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4226 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4226 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 4, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3934 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300785EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300785EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE608_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300520EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300520EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE431_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4229 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4230 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4230 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_tanpiDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301004EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301004EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE739_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm17EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300969EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE724_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %result = alloca %struct.privatePtrCheck.1740.208, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4233 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4233 + store float 0x3FD0BD0A20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4233 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4233 + store float 0x3FD9144AA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4233 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4233 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4233 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4233 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4233 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4233 + store float 0x3FD9D51DA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4233 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4233 + store float 0x3FDC395820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4233 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4233 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4233 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4233 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4233 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4233 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !4233 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4233 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4233 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4233 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !4233 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !4233 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !4233 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !4233 + %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !4233 + store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !4233 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !4233 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4233 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4233 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4233 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i32, ptr %resArg, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301046EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE781_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1255 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4236 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4236 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4236 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !4236 + %call7.i = tail call spir_func noundef <3 x half> @_Z21__spirv_ocl_nextafterDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300731EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300731EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !332 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4239 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4239 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_logbDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301019EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE754_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300476EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE391_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2401.238, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4242 + store float 0x3FE8AA68C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4242 + store float 0x3FE6707460000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4242 + store float 0x3FE8069DA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4242 + store float 0x3FD7B4D8C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4242 + store float 0x3FE2CF5020000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4242 + store float 0x3FE3E9B640000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4242 + store float 0x3FC6F9C4A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4242 + store float 0x3FCE3986C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4242 + store float 0x3FE4666D80000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4242 + store float 0x3FE5A7D5C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4242 + store float 0x3FC0F504A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4242 + store float 0x3FDF3EC0A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4242 + store float 0x3FDEF59840000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4242 + store float 0x3FDC219D60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4242 + store float 0x3FE6BC7BA0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4242 + store float 0x3FEC0CBF60000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4242 + store float 0x3FC0013C80000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4242 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4242 + store i32 10141, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4242 + store i32 17335, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4242 + store i32 30920, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4242 + store i32 -1912, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4242 + store i32 -29743, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4242 + store i32 -6595, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4242 + store i32 11111, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4242 + store i32 -7302, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4242 + store i32 -12298, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4242 + store i32 5800, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4242 + store i32 -8952, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4242 + store i32 24501, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4242 + store i32 -18891, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4242 + store i32 820, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4242 + store i32 17505, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4242 + store i32 -4322, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4242 + store i32 -24535, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !4242 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4242 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4242 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4242 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4242 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !4242 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !4242 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4242 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm17EE4sizeEv() #1 comdat align 2 !srcloc !325 { +entry: + ret i64 17 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300473EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4245 + store float 0x3FD8A1B880000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4245 + store float 0x3FBB18F9A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4245 + store float 0x3FE4FC95A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4245 + store float 0x3FE8F78320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4245 + store float 0x3FBB932C60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4245 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4245 + store i32 -24986, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4245 + store i32 12393, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4245 + store i32 -11172, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4245 + store i32 21067, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4245 + store i32 -22507, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !4245 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4245 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4245 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4245 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4245 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4245 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4245 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIiEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3604 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4248 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300209EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE208_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH37BE, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4249 + call spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %call) #13 + ret ptr addrspace(1) %call1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !2115 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4252 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_coshDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a2) #2 comdat !srcloc !1459 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + %2 = load i64, ptr %a2, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4255 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4255 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4255 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4255 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !69, !noalias !4255 + %call4.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp3.i) #13, !noalias !4255 + %call5.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_fmaDv4_DF16_S_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i, <4 x half> noundef %call4.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm16EE6_S_refERA16_Kim(ptr addrspace(4) noundef align 4 dereferenceable(64) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [16 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4258 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300854EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE649_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2260.232, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4259 + store float 0x3FDB4B48E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4259 + store float 0x3FEC75CB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4259 + store float 0x3FD8039F40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4259 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4259 + store float 0x3FEB5664C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4259 + store float 0x3FBA3E9F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4259 + store float 0x3FD3B49AE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4259 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4259 + store i32 -4509, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4259 + store i32 -23771, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4259 + store i32 14097, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4259 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4259 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4259 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4259 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4259 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !4259 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !4259 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4259 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm17EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300686EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE553_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4262 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4262 + store float 0x3FC5684480000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4262 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4262 + store float 0x3FE0CA9F20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4262 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4262 + store float 0x3FEB8A8460000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4262 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4262 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4262 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4262 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4262 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4262 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4262 + store float 0x3FD3E43440000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4262 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4262 + store float 0x3FC6CF1EC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4262 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4262 + store float 0x3FD9EE9DA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4262 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4262 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4262 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4262 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4262 + call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4262 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4262 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300010EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE9_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4265 + store float 0x3FD29DFCA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4265 + store float 0x3FEBF81260000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4265 + store float 0x3FE7C2EAC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4265 + store float 0x3FDD5606E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4265 + store float 0x3FC509A380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4265 + store float 0x3FD6C96B80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4265 + store float 0x3FE0340A20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4265 + store float 0x3FEB149EA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4265 + store float 0x3FC7F7AFA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4265 + store float 0x3FE14FFC20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4265 + store float 0x3FE549B880000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4265 + store float 0x3FE136E8A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4265 + store float 0x3FE80CE3E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4265 + store float 0x3FE10800A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4265 + store float 0x3FEBDFD000000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4265 + store float 0x3FE2A43CC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4265 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4265 + store float 0x3FE23E3500000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4265 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4265 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4265 + call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4265 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301013EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE748_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iPiEET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIiEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300461EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2270, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300461EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !596 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4268 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4268 + %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_cosDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %this, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %this, ptr align 2 %res_t, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr addrspace(4) %this, i64 0, i32 1 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %resArg, ptr align 2 %resArg_t, i64 34, i1 false), !tbaa.struct !401 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301070EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301070EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE805_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300500EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300500EN4sycl3_V16marrayIiLm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE411_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3312 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1771 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2064") align 16 %a1) #2 comdat !srcloc !1202 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::vec.2064", align 16 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %agg.tmp1.sroa.0.0.copyload = load <4 x i32>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4271 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4271 + %call2.i = tail call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp13) #13, !noalias !4271 + %call3.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_rootnDv4_DF16_Dv4_i(<4 x half> noundef %call.i, <4 x i32> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1198 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !4274 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !4274 + %call3.i = tail call spir_func noundef <8 x half> @_Z19__spirv_ocl_atan2piDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300971EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1748.209, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 + store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300971EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300289EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE288_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4277 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !4277 + store <4 x half> , ptr %agg.tmp3.i, align 8, !tbaa.struct !199, !noalias !4277 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [17 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1255 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4280 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4280 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4280 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4280 + %call3.i = tail call spir_func noundef <4 x half> @_Z21__spirv_ocl_nextafterDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4283 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4284 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4284 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_rsqrtDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300527EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE438_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 60340974270404, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4287 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301077EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301077EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE812_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.52.6", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300747EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4290 + store float 0x3FE1093A80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4290 + store float 0x3FE584DC00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4290 + store float 0x3FE3BCEC60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4290 + store float 0x3FD25A4040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4290 + store float 0x3FDB2BE700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4290 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4290 + store float 0x3FE8D392C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4290 + store float 0x3FD2CA21A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4290 + store float 0x3FEB09B560000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4290 + store float 0x3FE7CF9680000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4290 + store float 0x3FE0423140000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4290 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4290 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4290 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4290 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4290 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4290 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4290 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm10EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(20) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(20) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { +entry: + %ref.tmp = alloca %class.anon.3, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !3113 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !337 + %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300128EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300128EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE127_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4293 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300759EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300759EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE582_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm4EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4294 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4295 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4295 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_tanhDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds i32, ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300682EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE549_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4298 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !4298 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !557 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4301 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4301 + %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_tanDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300211EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300211EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE210_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2072 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4304 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1507 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !4305 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !4305 + %call3.i = tail call spir_func noundef <8 x half> @_Z20__spirv_ocl_copysignDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300655EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300655EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE522_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm10EE6_S_refERA10_Kim(ptr addrspace(4) noundef align 4 dereferenceable(40) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [10 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2101 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300765EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE588_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4308 + store float 0x3FD114B0C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4308 + store float 0x3FE7B7FCE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4308 + store float 0x3FE3F22E00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4308 + store float 0x3FE290B200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4308 + store float 0x3FDAB6B460000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4308 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4308 + store float 0x3FCBBC87E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4308 + store float 0x3FD1AE2600000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4308 + store float 0x3FD07021C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4308 + store float 0x3FE76FCFE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4308 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4308 + store float 0x3FC2F71000000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4308 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4308 + call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4308 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4308 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm1EE6_S_refERA1_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(2) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [1 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !3558 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4311 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4311 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_sinpiDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !230 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4314 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4314 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !4314 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !4314 + %call3.i = tail call spir_func noundef <2 x half> @_Z21__spirv_ocl_remainderDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300320EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE319_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 53825398323628, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4317 + store i64 61655157913405, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4317 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm2EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(40) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 7) #13 + %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 + %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 8) #13 + %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 + store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 + %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 + %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 9) #13 + %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 + store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300024EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE23_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1852 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4320 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4320 + %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_sinDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4323 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300240EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE239_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4324 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4324 + store float 0x3FDD3D3F80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4324 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4324 + store float 0x3FDC63CC20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4324 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4324 + store float 0x3FD35D5D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4324 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4324 + store float 0x3FDEB992E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4324 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4324 + store float 0x3FD2163E20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4324 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4324 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4324 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4324 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4324 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4324 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4324 + call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4324 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !843 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4327 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_truncDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300768EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300768EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE591_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1345 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(36) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 7) #13 + %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 + %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 + %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 8) #13 + %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 + store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4330 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300298EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE297_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4331 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !4331 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300135EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE134_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4334 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300541EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300541EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3878 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300875EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp35.i = alloca i32, align 4 + %ref.tmp36.i = alloca i32, align 4 + %ref.tmp37.i = alloca i32, align 4 + %ref.tmp38.i = alloca i32, align 4 + %ref.tmp39.i = alloca i32, align 4 + %ref.tmp40.i = alloca i32, align 4 + %ref.tmp41.i = alloca i32, align 4 + %ref.tmp42.i = alloca i32, align 4 + %ref.tmp43.i = alloca i32, align 4 + %ref.tmp44.i = alloca i32, align 4 + %ref.tmp45.i = alloca i32, align 4 + %ref.tmp46.i = alloca i32, align 4 + %ref.tmp47.i = alloca i32, align 4 + %ref.tmp48.i = alloca i32, align 4 + %ref.tmp49.i = alloca i32, align 4 + %ref.tmp50.i = alloca i32, align 4 + %ref.tmp51.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp54.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp54.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) + %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) + %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) + %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) + %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) + %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) + %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) + %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) + %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) + %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) + %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) + %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) + %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) + %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) + %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) + %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) + %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4337 + store float 0x3FD0DF7E60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4337 + store float 0x3FDEC3D320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4337 + store float 0x3FD62CE220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4337 + store float 0x3FD82A0CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4337 + store float 0x3FE33911A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4337 + store float 0x3FCC3A0920000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4337 + store float 0x3FD4567B00000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4337 + store float 0x3FE14A7840000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4337 + store float 0x3FCF7D0840000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4337 + store float 0x3FEB114EA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4337 + store float 0x3FEB005AE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4337 + store float 0x3FEC2E7220000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4337 + store float 0x3FC276BD80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4337 + store float 0x3FE498A5E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4337 + store float 0x3FE99E0B60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4337 + store float 0x3FD6490680000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4337 + store float 0x3FE30E5440000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4337 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4337 + store float 0x3FE456BE00000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4337 + store float 0x3FCA084C40000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4337 + store float 0x3FE8514360000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4337 + store float 0x3FDACF39E0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4337 + store float 0x3FC4105600000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4337 + store float 0x3FEAD543E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4337 + store float 0x3FE3711DA0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4337 + store float 0x3FD4C1C600000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4337 + store float 0x3FE9D8F7C0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4337 + store float 0x3FD5AE9BC0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4337 + store float 0x3FE8B84880000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4337 + store float 0x3FE2D99780000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4337 + store float 0x3FD9F5AE80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4337 + store float 0x3FCF9F4A00000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4337 + store float 0x3FDE7D98E0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4337 + store float 0x3FE1DA1460000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4337 + store float 0x3FC5EE76A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4337 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4337 + store i32 -11659, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4337 + store i32 -14252, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4337 + store i32 24460, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4337 + store i32 20589, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4337 + store i32 -31891, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4337 + store i32 -31576, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4337 + store i32 4846, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4337 + store i32 11208, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4337 + store i32 8590, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4337 + store i32 8583, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4337 + store i32 -20693, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4337 + store i32 -517, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4337 + store i32 1243, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4337 + store i32 13008, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4337 + store i32 661, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4337 + store i32 -11895, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4337 + store i32 -10630, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !4337 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4337 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4337 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4337 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4337 + store i64 %0, ptr %agg.tmp54.i, align 8, !tbaa !128, !noalias !4337 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp54.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4337 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp54.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4340 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !774 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4341 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4341 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_acosDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4344 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300165EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE164_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH397F, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4345 + call spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm3EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300318EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300318EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE317_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE774_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4348 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4348 + store float 0x3FE04514A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4348 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4348 + store float 0x3FD4A28F80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4348 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4348 + store float 0x3FCC23FDA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4348 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4348 + store float 0x3FD56C6D60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4348 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4348 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4348 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4348 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4348 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4348 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4348 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4348 + call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4348 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300930EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300930EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE709_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4351 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300000EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3A34, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4352 + call spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300903EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300903EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE682_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2523 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1099 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !4355 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !4355 + %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fmaxDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300085EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE84_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300153EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE152_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4358 + store float 0x3FE2CEDBA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4358 + store float 0x3FC6149760000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4358 + store float 0x3FBFC58200000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4358 + store float 0x3FBBD8B7A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4358 + store float 0x3FD33A83C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4358 + store float 0x3FE6B75A40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4358 + store float 0x3FDA31F8C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4358 + store float 0x3FE70D2AE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4358 + store float 0x3FE3376920000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4358 + store float 0x3FDA5488A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4358 + store float 0x3FE9BB5440000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4358 + store float 0x3FC0BBE280000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4358 + store float 0x3FDE3959C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4358 + store float 0x3FE871B860000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4358 + store float 0x3FC9C923A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4358 + store float 0x3FE5637380000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4358 + store float 0x3FD7331480000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4358 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4358 + store float 0x3FBE93AFE0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4358 + store float 0x3FDEA79B80000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4358 + store float 0x3FE08E2A60000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4358 + store float 0x3FC10EF560000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4358 + store float 0x3FE1B00260000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4358 + store float 0x3FD83048E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4358 + store float 0x3FBA852C60000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4358 + store float 0x3FD02AE7A0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4358 + store float 0x3FC825A2A0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4358 + store float 0x3FE10A3860000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4358 + store float 0x3FC1372B60000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4358 + store float 0x3FEAF5CF40000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4358 + store float 0x3FE8D565E0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4358 + store float 0x3FEB664D80000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4358 + store float 0x3FD6848F60000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4358 + store float 0x3FEA5FF5E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4358 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4358 + store float 0x3FEC65FD60000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4358 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4358 + call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4358 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4358 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !168 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4361 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4361 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4361 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4361 + %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fminDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300597EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300597EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE468_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef nonnull align 4 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4364 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300170EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300170EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE169_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv23InitSizesSTGlobalOffsetILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !4365 { +entry: + %call = tail call spir_func noundef i64 @_ZN7__spirvL15getGlobalOffsetILi0EEEmv() #13 + tail call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300805EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE628_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4366 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4366 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300807EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE630_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4369 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4369 + store float 0x3FC70FDB00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4369 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4369 + store float 0x3FDC943200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4369 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4369 + store float 0x3FD10C63C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4369 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4369 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4369 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4369 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4369 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4369 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4369 + store float 0x3FD9F668A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4369 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4369 + store float 0x3FC04F9F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4369 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4369 + store float 0x3FE8E35C60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4369 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4369 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4369 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4369 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4369 + call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4369 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4369 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4104 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4372 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4373 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4374 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300112EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE111_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 51235526750290, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4375 + store i64 63592137963773, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4375 + call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !536 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.2", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300212EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE211_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4378 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300586EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4381 + store float 0x3FE6AAB8A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4381 + store float 0x3FE034DBE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4381 + store float 0x3FCD33EAE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4381 + store float 0x3FC46F6E40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4381 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4381 + store i32 32619, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4381 + store i32 14738, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4381 + store i32 29085, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4381 + store i32 21912, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4381 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4381 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4381 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4381 + %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4381 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !4381 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4381 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !4381 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4381 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !4384 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4386 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !243 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4387 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4387 + %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_erfDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !927 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4390 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4390 + %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_asinpiDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !208 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4393 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_log1pDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300344EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE343_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4396 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4396 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1327 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300757EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE580_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4399 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !4399 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300533EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE444_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4402 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4402 + store float 0x3FE496EB60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4402 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4402 + store float 0x3FEB0ACB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4402 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4402 + store float 0x3FD7924C80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4402 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4402 + store float 0x3FC3B93CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4402 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4402 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4402 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4402 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4402 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4402 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4402 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4402 + call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4402 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300163EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300163EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE162_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300538EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !1191 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4405 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4405 + store half 0xH39DD, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4405 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4405 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !4405 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4405 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300812EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300812EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE635_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4408 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(32) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 2) #13 + %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 + %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 3) #13 + %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 + %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 4) #13 + %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 + %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 5) #13 + %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 + %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 6) #13 + %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 + %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 7) #13 + %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300405EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300405EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE368_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300792EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300792EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE615_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300869EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %ref.tmp13.i = alloca i32, align 4 + %ref.tmp14.i = alloca i32, align 4 + %ref.tmp15.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp18.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp18.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4409 + store float 0x3FE92F83A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4409 + store float 0x3FC64FF440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4409 + store float 0x3FEC113A20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4409 + store float 0x3FE0FD6CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4409 + store float 0x3FBCC0E500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4409 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4409 + store float 0x3FC47D70A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4409 + store float 0x3FECBC8360000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4409 + store float 0x3FC29EF540000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4409 + store float 0x3FE38B6400000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4409 + store float 0x3FC08B0600000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4409 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4409 + store i32 21312, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4409 + store i32 2229, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4409 + store i32 -28754, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4409 + store i32 29002, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4409 + store i32 -2692, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !4409 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4409 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4409 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4409 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4409 + store i64 %0, ptr %agg.tmp18.i, align 8, !tbaa !128, !noalias !4409 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp18.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4409 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp18.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301075EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE810_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3709, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4412 + call spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300856EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4415 + store float 0x3FC8B91DE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4415 + store float 0x3FBC8DE720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4415 + store float 0x3FEBC53AA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4415 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4415 + store float 0x3FDBB68520000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4415 + store float 0x3FD12CE200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4415 + store float 0x3FE7DB8320000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4415 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4415 + store i32 14376, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4415 + store i32 9381, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4415 + store i32 25260, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4415 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4415 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4415 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4415 + %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4415 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4415 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4415 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301000EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE735_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 53352928391062, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4418 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4421 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %left, ptr addrspace(4) noundef align 4 dereferenceable(4) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = trunc i64 %i.0 to i32 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %left, i32 noundef %conv) #13 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %right, i32 noundef %conv) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !4422 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3DF16_PU3AS3NS1_9half_impl4halfEEET_T0_(ptr addrspace(3) noundef %call) #13 + ret ptr addrspace(3) %call1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300178EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300178EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE177_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3722 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4423 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4423 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4423 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300669EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300669EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE536_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300797EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300797EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE620_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300937EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300937EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300881EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300881EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE660_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300680EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE547_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4424 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !4424 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4427 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm3EE6_S_refERA3_Kim(ptr addrspace(4) noundef align 4 dereferenceable(12) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4428 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm2EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300398EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300398EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE365_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17nd_itemILi1EEC2ERKNS0_4itemILi1ELb1EEERKNS3_ILi1ELb0EEERKNS0_5groupILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this, ptr addrspace(4) noundef align 8 dereferenceable(24) %GL, ptr addrspace(4) noundef align 8 dereferenceable(16) %L, ptr addrspace(4) noundef align 8 dereferenceable(32) %GR) #4 comdat align 2 !srcloc !4429 { +entry: + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(24) %this, ptr addrspace(4) noundef align 8 dereferenceable(24) %GL, i64 24, i1 false) + %localItem = getelementptr inbounds %"class.sycl::_V1::nd_item", ptr addrspace(4) %this, i64 0, i32 1 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(16) %localItem, ptr addrspace(4) noundef align 8 dereferenceable(16) %L, i64 16, i1 false) + %Group = getelementptr inbounds %"class.sycl::_V1::nd_item", ptr addrspace(4) %this, i64 0, i32 2 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(32) %Group, ptr addrspace(4) noundef align 8 dereferenceable(32) %GR, i64 32, i1 false) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !230 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !4430 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !4430 + %call3.i = tail call spir_func noundef <8 x half> @_Z21__spirv_ocl_remainderDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !548 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4433 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4433 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_rintDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4436 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4437 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300579EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE462_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2260.232, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4438 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4438 + store float 0x3FC2039860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4438 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4438 + store float 0x3FE29A0220000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4438 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4438 + store float 0x3FD815DAC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4438 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4438 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4438 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4438 + store i32 2431, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4438 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4438 + store i32 9149, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4438 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4438 + store i32 -28726, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4438 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4438 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4438 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4438 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4438 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4438 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !4438 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !4438 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4438 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300776EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300776EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE599_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300031EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300031EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE30_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300611EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300611EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE478_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301010EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301010EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE745_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300182EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300182EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE181_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300613EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300613EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE480_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm3EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE0_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4441 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !3558 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4444 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_sinpiDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4447 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300810EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE633_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4448 + store float 0x3FE463EF20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4448 + store float 0x3FD8CCFF80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4448 + store float 0x3FBC1A6F60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4448 + store float 0x3FBF5451E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4448 + store float 0x3FE2AFFA40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4448 + store float 0x3FD4252C60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4448 + store float 0x3FD4DFCB20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4448 + store float 0x3FE8CA96C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4448 + store float 0x3FE3F9B6E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4448 + store float 0x3FDD33DC80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4448 + store float 0x3FDAD5B140000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4448 + store float 0x3FD5CA00A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4448 + store float 0x3FE9B92900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4448 + store float 0x3FBE21E500000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4448 + store float 0x3FE7B193A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4448 + store float 0x3FD92C3980000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4448 + store float 0x3FCF4E4F60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4448 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4448 + store float 0x3FD78BEC20000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4448 + store float 0x3FD8990340000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4448 + store float 0x3FE141C7A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4448 + store float 0x3FDC95E700000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4448 + store float 0x3FE69C94A0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4448 + store float 0x3FE717F140000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4448 + store float 0x3FEAEB42A0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4448 + store float 0x3FE704BC40000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4448 + store float 0x3FD585DAA0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4448 + store float 0x3FD0279140000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4448 + store float 0x3FE19A77C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4448 + store float 0x3FCE895480000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4448 + store float 0x3FDBD05040000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4448 + store float 0x3FBD146420000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4448 + store float 0x3FE3C001A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4448 + store float 0x3FDE9BA580000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4448 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4448 + store float 0x3FD2E08DE0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4448 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4448 + call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4448 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4448 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300322EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE321_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4451 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4451 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !906 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300919EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE698_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4454 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4454 + store float 0x3FE6C860E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4454 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4454 + store float 0x3FE899C8E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4454 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4454 + store float 0x3FE4D257C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4454 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4454 + store float 0x3FE4217D00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4454 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4454 + store float 0x3FC23F55A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4454 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4454 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4454 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4454 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4454 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4454 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4454 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4454 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE791_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4457 + call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300309EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300309EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE308_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !280 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4460 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4460 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_ceilDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4463 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp3 = alloca %"class.sycl::_V1::marray.7", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp3.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300025EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE24_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !663 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4464 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4464 + %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_tgammaDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300033EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE32_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH36C0, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4467 + call spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301025EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE760_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2405 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4470 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4471 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4470 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300285EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300285EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE284_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300101EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300101EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE100_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300492EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300492EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE403_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300410EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE369_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1892.216, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4472 + store float 0x3FE8A28260000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4472 + store float 0x3FE27B8DE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4472 + store float 0x3FE8262140000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4472 + store float 0x3FBB55E880000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4472 + store float 0x3FD25A63A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4472 + store float 0x3FDC730A40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4472 + store float 0x3FDE3591C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4472 + store float 0x3FE80191A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4472 + store float 0x3FCEC58CE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4472 + store float 0x3FE1DDB4C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4472 + store float 0x3FE0F88E20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4472 + store float 0x3FE3C936A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4472 + store float 0x3FBC677100000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4472 + store float 0x3FC1472B60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4472 + store float 0x3FC61B7F80000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4472 + store float 0x3FDA8AB2C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4472 + store float 0x3FE2809FE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4472 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4472 + store float 0x3FE5FD9640000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4472 + store float 0x3FE3DCFD80000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4472 + store float 0x3FC7CF29A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4472 + store float 0x3FE95D7B80000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4472 + store float 0x3FDA994B80000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4472 + store float 0x3FE81949C0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4472 + store float 0x3FCE53A480000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4472 + store float 0x3FD9DEF5A0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4472 + store float 0x3FE45CF6E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4472 + store float 0x3FE3548B40000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4472 + store float 0x3FE07B2540000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4472 + store float 0x3FEAD514C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4472 + store float 0x3FE7F9D4E0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4472 + store float 0x3FE2742E00000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4472 + store float 0x3FE48C58E0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4472 + store float 0x3FDBA87FE0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4472 + store float 0x3FE0548DA0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4472 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4472 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4472 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4472 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4472 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !4472 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !4472 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4472 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15groupILi1EEC2ERKNS0_5rangeILi1EEES6_S4_RKNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(4) noundef align 8 dereferenceable(8) %G, ptr addrspace(4) noundef align 8 dereferenceable(8) %L, ptr noundef byval(%"class.sycl::_V1::range") align 8 %GroupRange, ptr addrspace(4) noundef align 8 dereferenceable(8) %I) #4 comdat align 2 !srcloc !4475 { +entry: + %0 = load i64, ptr addrspace(4) %G, align 8 + store i64 %0, ptr addrspace(4) %this, align 8 + %localRange = getelementptr inbounds %"class.sycl::_V1::group", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load i64, ptr addrspace(4) %L, align 8 + store i64 %1, ptr addrspace(4) %localRange, align 8 + %groupRange = getelementptr inbounds %"class.sycl::_V1::group", ptr addrspace(4) %this, i64 0, i32 2 + %2 = load i64, ptr %GroupRange, align 8 + store i64 %2, ptr addrspace(4) %groupRange, align 8 + %index = getelementptr inbounds %"class.sycl::_V1::group", ptr addrspace(4) %this, i64 0, i32 3 + %3 = load i64, ptr addrspace(4) %I, align 8 + store i64 %3, ptr addrspace(4) %index, align 8 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4476 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300280EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE279_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4477 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3592 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300241EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300241EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE240_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3417 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4480 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4481 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4482 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300399EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE366_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.1816.212, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4483 + store float 0x3FE6018EA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4483 + store float 0x3FECCBE700000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4483 + store float 0x3FD7B14DC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4483 + store float 0x3FE63F0B60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4483 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4483 + store float 0x3FE8D27EC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4483 + store float 0x3FE4F2B420000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4483 + store float 0x3FE774D920000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4483 + store float 0x3FE82BAA20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4483 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4483 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4483 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4483 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4483 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4483 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4483 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !4483 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !4483 + %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !4483 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !4483 + %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !4483 + store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !4483 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4483 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i64, ptr %resArg, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300620EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300620EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE487_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4203 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4486 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4487 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4486 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300786EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE609_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4488 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4488 + store float 0x3FEA8F4740000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4488 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4488 + store float 0x3FCCA47580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4488 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4488 + store float 0x3FE79ADC00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4488 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4488 + store float 0x3FE3DCED20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4488 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4488 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !4488 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4488 + store i32 -16828, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4488 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4488 + store i32 -22668, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4488 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4488 + store i32 17077, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4488 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4488 + store i32 7114, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4488 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4488 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4488 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4488 + call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4488 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300484EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300484EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE395_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300751EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300751EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE578_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300622EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE489_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4491 + store float 0x3FC9C5E260000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4491 + store float 0x3FD2CAE240000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4491 + store float 0x3FE2DEA820000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4491 + store float 0x3FD0DE7C40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4491 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4491 + store float 0x3FEC229BE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4491 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4491 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4491 + call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4491 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4494 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4494 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4494 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !4494 + %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !4494 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4497 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300294EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300294EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE293_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300799EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300799EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE622_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301065EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301065EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE800_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE2_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4498 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm2EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300274EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE273_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4501 + store float 0x3FD305C3C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4501 + store float 0x3FD4D29400000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4501 + store float 0x3FDB188C80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4501 + store float 0x3FDE803CE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4501 + store float 0x3FEB2E8A20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4501 + store float 0x3FC2C68B00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4501 + store float 0x3FE55ACFE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4501 + store float 0x3FE910AB80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4501 + store float 0x3FD8B19A00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4501 + store float 0x3FD328F080000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4501 + store float 0x3FD1BB2280000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4501 + store float 0x3FD5CD8F20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4501 + store float 0x3FCBADB320000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4501 + store float 0x3FE152AD40000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4501 + store float 0x3FD3386FC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4501 + store float 0x3FBF2E5D80000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4501 + store float 0x3FD24F92A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4501 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4501 + store float 0x3FE8354B60000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4501 + store float 0x3FDBC4F480000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4501 + store float 0x3FE9D18B00000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4501 + store float 0x3FEB5B4780000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4501 + store float 0x3FD2DC03E0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4501 + store float 0x3FE1890920000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4501 + store float 0x3FE9C15C20000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4501 + store float 0x3FE21598A0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4501 + store float 0x3FCE00D3A0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4501 + store float 0x3FD3185F80000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4501 + store float 0x3FEC7BB2C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4501 + store float 0x3FD5BA8600000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4501 + store float 0x3FE969C740000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4501 + store float 0x3FE78D64A0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4501 + store float 0x3FE631DF00000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4501 + store float 0x3FE5AE8560000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4501 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4501 + store float 0x3FE76C6CE0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4501 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4501 + call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4501 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4501 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300885EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300885EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE664_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4504 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4504 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4504 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !4504 + %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS3i(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !4504 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1225 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4507 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4507 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_exp2Dv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300599EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2422, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300599EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301023EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE758_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE4sizeEv() #1 comdat align 2 !srcloc !458 { +entry: + ret i64 5 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300413EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1900.217, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300413EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300872EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE655_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp35.i = alloca i32, align 4 + %ref.tmp36.i = alloca i32, align 4 + %ref.tmp37.i = alloca i32, align 4 + %ref.tmp38.i = alloca i32, align 4 + %ref.tmp39.i = alloca i32, align 4 + %ref.tmp40.i = alloca i32, align 4 + %ref.tmp41.i = alloca i32, align 4 + %ref.tmp42.i = alloca i32, align 4 + %ref.tmp43.i = alloca i32, align 4 + %ref.tmp44.i = alloca i32, align 4 + %ref.tmp45.i = alloca i32, align 4 + %ref.tmp46.i = alloca i32, align 4 + %ref.tmp47.i = alloca i32, align 4 + %ref.tmp48.i = alloca i32, align 4 + %ref.tmp49.i = alloca i32, align 4 + %ref.tmp50.i = alloca i32, align 4 + %ref.tmp51.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp53.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2401.238, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp53.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) + %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) + %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) + %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) + %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) + %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) + %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) + %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) + %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) + %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) + %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) + %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) + %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) + %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) + %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) + %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) + %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4510 + store float 0x3FE48A5620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4510 + store float 0x3FE5455B40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4510 + store float 0x3FE6118BE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4510 + store float 0x3FE3A80620000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4510 + store float 0x3FCCDA8880000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4510 + store float 0x3FE3C64F20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4510 + store float 0x3FBFCB85C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4510 + store float 0x3FCDFFA960000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4510 + store float 0x3FEC5F4A20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4510 + store float 0x3FE6F92C20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4510 + store float 0x3FBFBED080000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4510 + store float 0x3FE05DF340000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4510 + store float 0x3FDB4F92A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4510 + store float 0x3FCE2B2060000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4510 + store float 0x3FDA7517A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4510 + store float 0x3FEADDFB00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4510 + store float 0x3FC87309C0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4510 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4510 + store float 0x3FEBFB7060000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4510 + store float 0x3FE3ED5180000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4510 + store float 0x3FD3D52FC0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4510 + store float 0x3FE4B173E0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4510 + store float 0x3FEBBA84C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4510 + store float 0x3FEA759F40000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4510 + store float 0x3FEB575BC0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4510 + store float 0x3FE8F57880000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4510 + store float 0x3FEA04D7E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4510 + store float 0x3FDFFFC9A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4510 + store float 0x3FE9777840000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4510 + store float 0x3FE5A427C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4510 + store float 0x3FCEFEAA80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4510 + store float 0x3FD0C59A20000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4510 + store float 0x3FD5760920000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4510 + store float 0x3FE9F007E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4510 + store float 0x3FEA0482C0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4510 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4510 + store i32 -6819, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4510 + store i32 -29287, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4510 + store i32 -24323, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4510 + store i32 28192, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4510 + store i32 15020, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4510 + store i32 -5196, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4510 + store i32 19306, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4510 + store i32 24308, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4510 + store i32 -28560, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4510 + store i32 -20630, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4510 + store i32 16138, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4510 + store i32 -6253, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4510 + store i32 -4656, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4510 + store i32 16068, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4510 + store i32 28478, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4510 + store i32 -3564, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4510 + store i32 31796, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !4510 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4510 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4510 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4510 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4510 + store i64 %0, ptr %agg.tmp53.i, align 8, !tbaa !128, !noalias !4510 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp53.i) #14, !noalias !4510 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4510 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp53.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300232EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300232EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE231_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !716 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4513 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_atanDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300527EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300527EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE438_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !911 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4516 + %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_lgammaDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300601EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300601EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301011EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301011EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE746_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4519 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300514EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300514EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE425_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !685 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4520 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4520 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4520 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4520 + %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fdimDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301081EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301081EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE816_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 + store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300197EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE196_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4523 + store float 0x3FE82A7C00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4523 + store float 0x3FD8AD54C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4523 + store float 0x3FE9C6A2E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4523 + store float 0x3FE609DA20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4523 + store float 0x3FE58A8200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4523 + store float 0x3FD78F9180000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4523 + store float 0x3FC8EE9DC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4523 + store float 0x3FEBD8F1A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4523 + store float 0x3FE913F9E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4523 + store float 0x3FDB5583C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4523 + store float 0x3FE94C6300000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4523 + store float 0x3FEA384F20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4523 + store float 0x3FD7EF4540000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4523 + store float 0x3FE00A3BC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4523 + store float 0x3FD7633C60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4523 + store float 0x3FE4FEFC00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4523 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4523 + store float 0x3FEA8D2E00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4523 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4523 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4523 + call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4523 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1507 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !4526 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !4526 + %call3.i = tail call spir_func noundef <16 x half> @_Z20__spirv_ocl_copysignDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301065EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE800_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4529 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1651 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [4 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300265EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE264_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4532 + store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !4532 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE775_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4535 + store float 0x3FE64103A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4535 + store float 0x3FBB64CB60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4535 + store float 0x3FCADA4440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4535 + store float 0x3FE1A6ACC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4535 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4535 + store float 0x3FD1180800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4535 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4535 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4535 + call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4535 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300308EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE307_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4538 + store half 0xH2F6F, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4538 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + %call5 = call spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %agg.result, i64 noundef 16) #13 + store i32 %call5, ptr addrspace(4) %call6, align 4, !tbaa !126 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %agg.result, i64 noundef %mul) #13 + %1 = load i64, ptr %PartialRes, align 8 + store i64 %1, ptr addrspace(4) %call, align 4 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4541 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300476EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300476EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE391_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #4 comdat align 2 !srcloc !1947 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::marray.2202", align 4 + %agg.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJLm0ELm1EEEERKSt5arrayIiLm2EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300249EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300249EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE248_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3DF16_PU3AS3NS1_9half_impl4halfEEET_T0_(ptr addrspace(3) noundef %from) #1 comdat !srcloc !141 { +entry: + ret ptr addrspace(3) %from +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3717 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300071EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE70_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4542 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300303EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE302_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4545 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4545 + store float 0x3FEB52A800000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4545 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4545 + store float 0x3FD29819A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4545 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4545 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4545 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4545 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4545 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4545 + store float 0x3FD7B11480000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4545 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4545 + store float 0x3FE3688BA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4545 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4545 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4545 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4545 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4545 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4545 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !4545 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4545 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4545 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4545 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !239 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4548 + %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_logDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %res_t, i32 noundef %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + %0 = load i16, ptr %res_t, align 2, !tbaa !99 + store i16 %0, ptr addrspace(4) %this, align 4, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr addrspace(4) %this, i64 0, i32 1 + store i32 %resArg_t, ptr addrspace(4) %resArg, align 4, !tbaa !1180 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300659EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE526_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i64 57381648478193, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4551 + store i64 62604253279295, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4551 + store i64 61925710117007, ptr %agg.tmp3.i, align 8, !tbaa !69, !noalias !4551 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4554 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4555 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4555 + %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_tanDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300411EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300411EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE370_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300393EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300393EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE364_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300691EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE558_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.195, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4558 + store i16 14565, ptr %multiPtrSourceData.i, align 2, !noalias !4558 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4558 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4558 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !4558 + store half 0xH38C8, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4558 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4558 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !4558 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !4558 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !4558 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !4558 + %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !4558 + store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !4558 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !4558 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4558 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4558 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %4 = load i16, ptr %resArg, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300400EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4561 + store float 0x3FD450BD00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4561 + store float 0x3FD4E6CA60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4561 + store float 0x3FDB1BF500000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4561 + store float 0x3FBE7810A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4561 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4561 + store float 0x3FEA5E8940000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4561 + store float 0x3FE7F6A060000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4561 + store float 0x3FCA4C8420000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4561 + store float 0x3FE8280C20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4561 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4561 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4561 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4561 + %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4561 + store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !4561 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4561 + store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !4561 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm7EE6_S_refERA7_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(14) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [7 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1703 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4564 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4564 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_exp10Dv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300786EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300786EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE609_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300146EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE145_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4567 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !4567 + call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %Arg0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %Arg1) #4 comdat align 2 !srcloc !4570 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp2.ascast = addrspacecast ptr %ref.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr %Arg0, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 + %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 + %conv = fptrunc float %call to half + %vecinit = insertelement <2 x half> undef, half %conv, i64 0 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp2) #13 + %1 = load i16, ptr %Arg1, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #13 + %call4 = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp2.ascast) #13 + %conv5 = fptrunc float %call4 to half + %vecinit6 = insertelement <2 x half> %vecinit, half %conv5, i64 1 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp2) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + store <2 x half> %vecinit6, ptr addrspace(4) %this, align 4, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300511EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE422_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4571 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4571 + store float 0x3FE52CB320000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4571 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4571 + store float 0x3FEAD32040000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4571 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4571 + store float 0x3FDB6608C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4571 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4571 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4571 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4571 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4571 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !4571 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4571 + store i32 25503, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4571 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4571 + store i32 12066, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4571 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4571 + store i32 -20366, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4571 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4571 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4571 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4571 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4571 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !4571 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4571 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300016EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300016EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE15_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300033EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300033EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE32_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !529 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300633EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE500_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4574 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4574 + store float 0x3FE810C500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4574 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4574 + store float 0x3FE9DCB100000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4574 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4574 + store float 0x3FDFEBADA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4574 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4574 + store float 0x3FDEF75720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4574 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4574 + store float 0x3FD9245940000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4574 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4574 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4574 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4574 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4574 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4574 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4574 + call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4574 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3817 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4577 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4578 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4577 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300799EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE622_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4579 + store float 0x3FE60A2960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4579 + store float 0x3FEA3BD860000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4579 + store float 0x3FE07AD1C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4579 + store float 0x3FE99627E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4579 + store float 0x3FCB71F800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4579 + store float 0x3FE81C7500000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4579 + store float 0x3FCF50A1C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4579 + store float 0x3FE782F160000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4579 + store float 0x3FE4FAA020000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4579 + store float 0x3FD69E03C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4579 + store float 0x3FDFE7D160000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4579 + store float 0x3FE1281660000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4579 + store float 0x3FEB792780000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4579 + store float 0x3FE008C560000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4579 + store float 0x3FE50A08A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4579 + store float 0x3FD0483C40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4579 + store float 0x3FD1000940000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4579 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4579 + store float 0x3FD1156E20000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4579 + store float 0x3FE907D020000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4579 + store float 0x3FEB316AC0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4579 + store float 0x3FBA0EA8E0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4579 + store float 0x3FC67822E0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4579 + store float 0x3FDC80A2E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4579 + store float 0x3FE233AA40000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4579 + store float 0x3FE05E6D00000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4579 + store float 0x3FE4BC7200000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4579 + store float 0x3FEC0B24C0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4579 + store float 0x3FBDF11940000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4579 + store float 0x3FE6FB1E00000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4579 + store float 0x3FE6C99D20000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4579 + store float 0x3FE53E6CC0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4579 + store float 0x3FD3C891A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4579 + store float 0x3FC7D53080000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4579 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4579 + store float 0x3FE55B48E0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4579 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4579 + call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4579 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4579 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301071EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301071EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE806_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300107EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE106_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4582 + store float 0x3FDA5821C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4582 + store float 0x3FD1AC1320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4582 + store float 0x3FD071F680000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4582 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4582 + store float 0x3FEB43CFA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4582 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4582 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4582 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4582 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4582 + call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4582 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4585 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301005EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301005EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE740_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300127EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300127EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE126_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300057EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE56_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300104EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE103_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4587 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4590 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4590 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4590 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !4590 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS0i(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !4590 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EEC2EPU3AS0S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1980 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1721 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4593 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4594 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4593 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300932EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300932EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE711_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + %0 = load i16, ptr %a1, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE781_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4595 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300900EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE679_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4598 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE753_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4601 + store float 0x3FEB838240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4601 + store float 0x3FD0369440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4601 + store float 0x3FD41B15E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4601 + store float 0x3FC6D86D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4601 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4601 + store float 0x3FE69D2500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4601 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4601 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4601 + call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4601 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4604 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4604 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4604 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !4604 + %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !4604 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300231EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE230_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH39B3, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4607 + call spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4610 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300906EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300906EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE685_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300767EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300767EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE590_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300537EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300537EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE448_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300247EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300247EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE246_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1717 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4611 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4611 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_cospiDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4614 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(8) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %A2, i64 noundef 1) #13 + %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300742EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300742EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300634EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE501_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4615 + store float 0x3FE7914680000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4615 + store float 0x3FCCFA3C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4615 + store float 0x3FDA9E4660000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4615 + store float 0x3FD2F262C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4615 + store float 0x3FC7A83CC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4615 + store float 0x3FE6AD5520000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4615 + store float 0x3FE9CE1400000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4615 + store float 0x3FE742A5C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4615 + store float 0x3FD0AE5360000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4615 + store float 0x3FD47D9C00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4615 + store float 0x3FE27C0580000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4615 + store float 0x3FD39E9440000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4615 + store float 0x3FD5E3FA80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4615 + store float 0x3FE07E7A00000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4615 + store float 0x3FE7B7E7C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4615 + store float 0x3FE288ADC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4615 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4615 + store float 0x3FEBF0EEA0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4615 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4615 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4615 + call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4615 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1095 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4618 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4618 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_erfcDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300285EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE284_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4621 + store float 0x3FDAB8BC60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4621 + store float 0x3FDEA50360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4621 + store float 0x3FDCF27300000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4621 + store float 0x3FDEBE1BE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4621 + store float 0x3FD58CD2C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4621 + store float 0x3FE7E73B80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4621 + store float 0x3FEA9325C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4621 + store float 0x3FD844D280000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4621 + store float 0x3FE3877AE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4621 + store float 0x3FD9E46380000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4621 + store float 0x3FE2041BE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4621 + store float 0x3FE5017BE0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4621 + store float 0x3FE009EFE0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4621 + store float 0x3FE4782420000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4621 + store float 0x3FE6953B00000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4621 + store float 0x3FE8C9D280000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4621 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4621 + store float 0x3FD0112B40000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4621 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4621 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4621 + call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4621 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300480EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp36.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4624 + store float 0x3FEAC93EC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4624 + store float 0x3FE58CC800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4624 + store float 0x3FCC103B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4624 + store float 0x3FE7617260000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4624 + store float 0x3FD0506760000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4624 + store float 0x3FD0EC89E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4624 + store float 0x3FE2E97760000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4624 + store float 0x3FD11493C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4624 + store float 0x3FD9EB8DC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4624 + store float 0x3FCD83E460000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4624 + store float 0x3FE4D9FBC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4624 + store float 0x3FE2F2D700000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4624 + store float 0x3FEA6C6540000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4624 + store float 0x3FC693B820000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4624 + store float 0x3FEC71E300000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4624 + store float 0x3FD627D560000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4624 + store float 0x3FBF8BF480000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4624 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4624 + store i32 13009, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4624 + store i32 -21336, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4624 + store i32 26236, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4624 + store i32 5274, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4624 + store i32 8100, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4624 + store i32 31768, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4624 + store i32 16612, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4624 + store i32 3328, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4624 + store i32 -3602, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4624 + store i32 15942, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4624 + store i32 -18456, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4624 + store i32 9763, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4624 + store i32 18708, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4624 + store i32 15618, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4624 + store i32 -17267, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4624 + store i32 -13683, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4624 + store i32 29502, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !4624 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4624 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4624 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4624 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4624 + store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !4624 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4624 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !659 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4627 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_sqrtDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2098 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4630 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300316EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE315_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp6.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4631 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4631 + store float 0x3FDF3AF4A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4631 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4631 + store float 0x3FC1014680000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4631 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4631 + store float 0x3FD6B845C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4631 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4631 + store float 0x3FD1A9D4C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4631 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4631 + store float 0x3FCEA8C6C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4631 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4631 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4631 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4631 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4631 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4631 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4631 + store half 0xH35A7, ptr %agg.tmp6.i, align 2, !tbaa.struct !119, !noalias !4631 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4631 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300679EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE546_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH3948, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4634 + store half 0xH383E, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4634 + call spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300050EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE49_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4637 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !857 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4639 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4640 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4641 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300141EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE140_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4642 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4642 + store float 0x3FDDBE3460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4642 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4642 + store float 0x3FE5AAE300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4642 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4642 + store float 0x3FDB12CF40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4642 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4642 + store float 0x3FDFCBA320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4642 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4642 + store float 0x3FBDD60660000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4642 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4642 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4642 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4642 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4642 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4642 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4642 + call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4642 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm2EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !235 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4645 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4645 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_roundDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { +entry: + store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1846 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !774 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4648 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_acosDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4651 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4651 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4651 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !4651 + %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !4651 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300124EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE123_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4654 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2103 + %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4657 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300691EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300691EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE558_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300342EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE341_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4658 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !4658 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300260EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE259_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4661 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4661 + store float 0x3FC34820A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4661 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4661 + store float 0x3FEC9F3F40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4661 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4661 + store float 0x3FDEF28640000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4661 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4661 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4661 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4661 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4661 + call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4661 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1488 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300851EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300851EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { +entry: + %arrayidx = getelementptr inbounds [17 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4664 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4665 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4665 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4665 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !4665 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !4665 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300176EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300176EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE175_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4668 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm4EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300874EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp35.i = alloca i32, align 4 + %ref.tmp36.i = alloca i32, align 4 + %ref.tmp37.i = alloca i32, align 4 + %ref.tmp38.i = alloca i32, align 4 + %ref.tmp39.i = alloca i32, align 4 + %ref.tmp40.i = alloca i32, align 4 + %ref.tmp41.i = alloca i32, align 4 + %ref.tmp42.i = alloca i32, align 4 + %ref.tmp43.i = alloca i32, align 4 + %ref.tmp44.i = alloca i32, align 4 + %ref.tmp45.i = alloca i32, align 4 + %ref.tmp46.i = alloca i32, align 4 + %ref.tmp47.i = alloca i32, align 4 + %ref.tmp48.i = alloca i32, align 4 + %ref.tmp49.i = alloca i32, align 4 + %ref.tmp50.i = alloca i32, align 4 + %ref.tmp51.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp54.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp54.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) + %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) + %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) + %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) + %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) + %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) + %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) + %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) + %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) + %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) + %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) + %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) + %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) + %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) + %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) + %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) + %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4669 + store float 0x3FE42FEA20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4669 + store float 0x3FE554C9E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4669 + store float 0x3FE5198FA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4669 + store float 0x3FC1E26FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4669 + store float 0x3FEAE55EE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4669 + store float 0x3FE5A70100000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4669 + store float 0x3FE1559460000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4669 + store float 0x3FE0A89900000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4669 + store float 0x3FE8349380000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4669 + store float 0x3FDDB78E60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4669 + store float 0x3FE94437A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4669 + store float 0x3FE508F0C0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4669 + store float 0x3FDB6E7140000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4669 + store float 0x3FE57A0300000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4669 + store float 0x3FE7946CA0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4669 + store float 0x3FE5EA5CC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4669 + store float 0x3FE2E7AA80000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4669 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4669 + store float 0x3FD3289980000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4669 + store float 0x3FD03B22C0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4669 + store float 0x3FE886F0C0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4669 + store float 0x3FC55AFCC0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4669 + store float 0x3FC7988EA0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4669 + store float 0x3FCDFA26E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4669 + store float 0x3FE146E3C0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4669 + store float 0x3FE092D740000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4669 + store float 0x3FDC67AF20000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4669 + store float 0x3FE673D140000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4669 + store float 0x3FE569B460000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4669 + store float 0x3FCB5B4540000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4669 + store float 0x3FD5CA68A0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4669 + store float 0x3FE5BFF000000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4669 + store float 0x3FE32368A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4669 + store float 0x3FD494BF00000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4669 + store float 0x3FDCEE14A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4669 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4669 + store i32 -14940, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4669 + store i32 11730, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4669 + store i32 4641, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4669 + store i32 18111, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4669 + store i32 29820, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4669 + store i32 8768, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4669 + store i32 25946, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4669 + store i32 26176, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4669 + store i32 -10095, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4669 + store i32 25704, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4669 + store i32 21885, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4669 + store i32 -18573, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4669 + store i32 20623, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4669 + store i32 -14547, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4669 + store i32 -29888, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4669 + store i32 -7016, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4669 + store i32 -5902, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !4669 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4669 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4669 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4669 + %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4669 + store i64 %1, ptr %agg.tmp54.i, align 8, !tbaa !128, !noalias !4669 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp54.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4669 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp54.i) + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300167EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE166_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 53645062583315, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4672 + call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !2919 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300731EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4675 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4675 + store float 0x3FDE2F2560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4675 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4675 + store float 0x3FE2FD8800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4675 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4675 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4675 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4675 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4675 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4675 + store float 0x3FE2C641A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4675 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4675 + store float 0x3FEBD2FBA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4675 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4675 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4675 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4675 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4675 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4675 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4675 + store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4675 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4675 + store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4675 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4675 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4675 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4675 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm3EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4678 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IDv4_DF16_vEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, <4 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { +entry: + store <4 x half> %openclVector, ptr addrspace(4) %this, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300264EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300264EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE263_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300000EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300000EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4679 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4679 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4679 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !4679 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS0i(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !4679 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300171EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300171EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE170_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !3270 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4682 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4682 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_acoshDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4685 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300345EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300345EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE344_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300661EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE528_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp3.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4686 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4686 + store <8 x half> , ptr %agg.tmp3.i, align 16, !tbaa.struct !209, !noalias !4686 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301048EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE783_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4689 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4689 + store float 0x3FE969C320000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4689 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4689 + store float 0x3FBD632E60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4689 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4689 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4689 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4689 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4689 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4689 + call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4689 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef nonnull align 2 dereferenceable(10) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4692 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4693 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300134EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300134EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE133_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300610EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300610EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE477_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %left, ptr addrspace(4) noundef align 32 dereferenceable(32) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = trunc i64 %i.0 to i32 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %left, i32 noundef %conv) #13 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %right, i32 noundef %conv) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !4694 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300991EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4695 + store float 0x3FDFB93EE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4695 + store float 0x3FE0493820000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4695 + store float 0x3FE00622A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4695 + store float 0x3FC7507720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4695 + store float 0x3FDE3D4E00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4695 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4695 + store float 0x3FBD4F0020000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4695 + store float 0x3FDDB0F4E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4695 + store float 0x3FCBE3AFC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4695 + store float 0x3FD0E31E40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4695 + store float 0x3FCA6161E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4695 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4695 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4695 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4695 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4695 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4695 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4695 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300095EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300095EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE94_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300238EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE237_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4698 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4698 + store float 0x3FDF0115E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4698 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4698 + store float 0x3FEB235940000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4698 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4698 + store float 0x3FBE7F7860000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4698 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4698 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4698 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4698 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4698 + call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4698 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(4) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 + %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A2, i64 noundef 0) #13 + %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300492EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE403_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4701 + store float 0x3FDC46ED20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4701 + store float 0x3FE2EC37A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4701 + store float 0x3FBD31FAC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4701 + store float 0x3FC0176160000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4701 + store float 0x3FC8964CE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4701 + store float 0x3FE2999880000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4701 + store float 0x3FDCE93CE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4701 + store float 0x3FE4F23EC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4701 + store float 0x3FDD50F2E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4701 + store float 0x3FBB217D60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4701 + store float 0x3FD2FB8EE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4701 + store float 0x3FEB0EF220000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4701 + store float 0x3FE8844700000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4701 + store float 0x3FE66FEDE0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4701 + store float 0x3FD697C660000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4701 + store float 0x3FE5AB9480000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4701 + store float 0x3FD48F9F00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4701 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4701 + store float 0x3FC03151A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4701 + store float 0x3FDA6B1680000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4701 + store float 0x3FE4EF4260000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4701 + store float 0x3FD2DF8F40000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4701 + store float 0x3FEC807700000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4701 + store float 0x3FD692AAC0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4701 + store float 0x3FE3310B80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4701 + store float 0x3FC794F0C0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4701 + store float 0x3FC5DC7620000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4701 + store float 0x3FE7B56040000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4701 + store float 0x3FE28176E0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4701 + store float 0x3FC7ACBCE0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4701 + store float 0x3FDA729C80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4701 + store float 0x3FE3478B80000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4701 + store float 0x3FE7C83020000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4701 + store float 0x3FDCD830C0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4701 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4701 + store float 0x3FDDE03D60000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4701 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4701 + call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4701 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4701 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300632EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300632EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE499_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300884EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300884EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE663_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300526EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE437_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4704 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1591 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iPiEET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIiEPU3AS3T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr addrspace(3) %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300629EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300629EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE496_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !2555 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4707 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4707 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_asinDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300162EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300162EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE161_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300859EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE650_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp14.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp15.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %result = alloca %struct.privatePtrCheck.2307.234, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4710 + store float 0x3FD08FEAA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4710 + store float 0x3FE9ED8CA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4710 + store float 0x3FE3C99EC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4710 + store float 0x3FCF236D40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4710 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4710 + store float 0x3FE84F4220000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4710 + store float 0x3FE9A36CC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4710 + store float 0x3FE87017E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4710 + store float 0x3FD04B1260000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4710 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4710 + store i32 -20597, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4710 + store i32 1270, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4710 + store i32 28501, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4710 + store i32 -28366, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !4710 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4710 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4710 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4710 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4710 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4710 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !4710 + store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !4710 + %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4710 + store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !128, !noalias !4710 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp14.i) #14, !noalias !4710 + %3 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !4710 + store i64 %3, ptr %agg.tmp15.i, align 8, !tbaa !69, !noalias !4710 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp15.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4710 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i64, ptr %result, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !983 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4713 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4713 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !4713 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !4713 + %call3.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_atan2Dv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300894EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE673_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.2202", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4716 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4716 + store float 0x3FE323DC20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4716 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4716 + store float 0x3FE99D4E60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4716 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4716 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4716 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4716 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4716 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4716 + store i32 32190, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !4716 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4716 + store i32 2543, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4716 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4716 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4716 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4716 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4716 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4716 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !4716 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !69, !noalias !4716 + call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4716 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4716 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE83_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4719 + store float 0x3FEBBA84A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4719 + store float 0x3FE37ABCC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4719 + store float 0x3FCFA571A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4719 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4719 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4719 + store float 0x3FEC9E9BE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4719 + store float 0x3FC74DE280000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4719 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4719 + store float 0x3FE211DAC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4719 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4719 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4719 + call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4719 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4719 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300929EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE708_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4722 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4722 + store float 0x3FD25D0CA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4722 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4722 + store float 0x3FDF1F7D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4722 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4722 + store float 0x3FE72FA7E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4722 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4722 + store float 0x3FEBCC2FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4722 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4722 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4722 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4722 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4722 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4722 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4722 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4722 + call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4722 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %dimension) #1 comdat align 2 !srcloc !4725 { +entry: + %idxprom = sext i32 %dimension to i64 + %arrayidx = getelementptr inbounds [1 x i64], ptr addrspace(4) %this, i64 0, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIN4sycl3_V16detail9half_impl4halfEEPU3AS1T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !4726 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPvi(ptr addrspace(4) noundef %Ptr, i32 noundef 5) #15 + ret ptr addrspace(1) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !332 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4727 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4727 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_logbDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300883EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300883EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE662_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300300EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300300EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE299_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300292EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE291_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4730 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4730 + store float 0x3FE4C5E3E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4730 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4730 + store float 0x3FC70A7080000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4730 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4730 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4730 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4730 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4730 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4730 + store float 0x3FE6C469E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4730 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4730 + store float 0x3FD3D378C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4730 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4730 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4730 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4730 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_2.i) #13, !noalias !4730 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4730 + store float 0x3FE74C9AC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4730 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4730 + store float 0x3FE3769900000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4730 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4730 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4730 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4730 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4730 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4730 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !4730 + store i32 %1, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !4730 + %2 = load i32, ptr %inputData_2.i, align 4, !tbaa !69, !noalias !4730 + store i32 %2, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !4730 + call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_2.i) #13, !noalias !4730 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4730 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4730 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4733 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300175EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE174_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4734 + store float 0x3FDE88E7E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4734 + store float 0x3FC02FA660000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4734 + store float 0x3FEA78C9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4734 + store float 0x3FE336B000000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4734 + store float 0x3FD5193B60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4734 + store float 0x3FC0919780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4734 + store float 0x3FD9AFB440000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4734 + store float 0x3FCCDCCE40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4734 + store float 0x3FE13C68E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4734 + store float 0x3FCBD74480000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4734 + store float 0x3FCEAE3560000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4734 + store float 0x3FEAC635E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4734 + store float 0x3FE3964A60000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4734 + store float 0x3FD2D1F680000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4734 + store float 0x3FE9B32280000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4734 + store float 0x3FE3315680000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4734 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4734 + store float 0x3FEB6847A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4734 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4734 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4734 + call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4734 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300643EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300643EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE510_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !424 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4737 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4737 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4737 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !4737 + %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fmodDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300854EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300854EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE649_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300158EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300158EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE157_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300406EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4740 + store float 0x3FEB7123C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4740 + store float 0x3FD872A960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4740 + store float 0x3FD9C0B0E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4740 + store float 0x3FD5DA26A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4740 + store float 0x3FD37D7840000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4740 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4740 + store float 0x3FECC408C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4740 + store float 0x3FE863B000000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4740 + store float 0x3FE9589C40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4740 + store float 0x3FBF458180000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4740 + store float 0x3FEB94CB20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4740 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4740 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4740 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4740 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4740 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4740 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4740 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4585 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4743 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4744 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4743 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #4 comdat align 2 !srcloc !4745 { +entry: + tail call spir_func void @_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1984 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4746 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4747 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4746 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300857EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4748 + store float 0x3FEA030020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4748 + store float 0x3FD1CEF140000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4748 + store float 0x3FD128A940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4748 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4748 + store float 0x3FD6DF66A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4748 + store float 0x3FE1A932C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4748 + store float 0x3FDF2203E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4748 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4748 + store i32 12113, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4748 + store i32 31597, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4748 + store i32 13485, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4748 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4748 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4748 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4748 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4748 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4748 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4748 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300802EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300802EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE625_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300667EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300667EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE534_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300486EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE397_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4751 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4751 + call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300593EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2364, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300593EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !2555 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4754 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_asinDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300517EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE428_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4757 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, i32 noundef 31071) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300974EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE725_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1778.210, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4760 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4760 + store float 0x3FC1391140000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4760 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4760 + store float 0x3FD8DF50A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4760 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4760 + store float 0x3FE5FD3800000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4760 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4760 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4760 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4760 + store float 0x3FBE715CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4760 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4760 + store float 0x3FDE82F9C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4760 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4760 + store float 0x3FE83267C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4760 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4760 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4760 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4760 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4760 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4760 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !4760 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !4760 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4760 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300113EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300113EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE112_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300648EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE515_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 64915069416609, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4763 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE818_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4766 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4766 + store float 0x3FE144CB00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4766 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4766 + store float 0x3FE0B5E640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4766 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4766 + store float 0x3FE5968460000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4766 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4766 + store float 0x3FE9BB6380000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4766 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4766 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4766 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4766 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4766 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4766 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4766 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4766 + call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4766 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4769 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4770 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4770 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_cospiDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !3270 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4773 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_acoshDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300913EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300913EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE692_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4776 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp3 = alloca %"class.sycl::_V1::marray.7", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp3.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300753EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1900.217, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300753EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300336EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE335_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4777 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4777 + store float 0x3FD14E3700000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4777 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4777 + store float 0x3FD6C47D00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4777 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4777 + store float 0x3FE997C980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4777 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4777 + store float 0x3FE6CA1F40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4777 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4777 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4777 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4777 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4777 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4777 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4777 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4777 + store half 0xH36FD, ptr %agg.tmp5.i, align 2, !tbaa.struct !119, !noalias !4777 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4777 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { +entry: + br label %arrayinit.body + +arrayinit.body: ; preds = %arrayinit.body, %entry + %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] + %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx + store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 + %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 + %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 17 + br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body + +arrayinit.end2: ; preds = %arrayinit.body + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef nonnull align 4 dereferenceable(20) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4780 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300913EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE692_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4781 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300638EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300638EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE505_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301082EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301082EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE817_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300350EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300350EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE349_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4784 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm6EE6_S_refERA6_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(12) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [6 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4785 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300329EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300329EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE328_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300490EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE401_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4786 + store float 0x3FD9D02580000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4786 + store float 0x3FE24863C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4786 + store float 0x3FE2CB4320000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4786 + store float 0x3FBD877AC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4786 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4786 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4786 + store float 0x3FC6E05D60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4786 + store float 0x3FC1AC5420000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4786 + store float 0x3FC0457B80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4786 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4786 + store float 0x3FD1384440000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4786 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4786 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4786 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4786 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !4786 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !4786 + call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4786 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !685 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !4789 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !4789 + %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fdimDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300245EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300245EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE244_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !860 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4792 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_tanhDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300313EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE312_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4795 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4795 + store float 0x3FEA332DA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4795 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4795 + store float 0x3FE51AE040000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4795 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4795 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4795 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4795 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4795 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4795 + store half 0xH3A41, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !4795 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4795 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300882EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE661_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4798 + call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !488 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4801 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_expm1Dv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 + %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4804 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4805 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300915EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE694_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4806 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1049 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4809 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300421EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4810 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4810 + store half 0xH38A5, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4810 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4810 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !4810 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4810 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !424 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) + store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !4813 + %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !4813 + %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fmodDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300319EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300319EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE318_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300314EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE313_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4816 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4816 + store float 0x3FE961C500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4816 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4816 + store float 0x3FE7783AA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4816 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4816 + store float 0x3FE60DD9A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4816 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4816 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4816 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4816 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4816 + store half 0xH2E9C, ptr %agg.tmp4.i, align 2, !tbaa.struct !119, !noalias !4816 + call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4816 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE809_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4819 + store float 0x3FD5B232A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4819 + store float 0x3FD2054C20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4819 + store float 0x3FDEECB000000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4819 + store float 0x3FE1B02FA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4819 + store float 0x3FD6432060000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4819 + store float 0x3FC0E815E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4819 + store float 0x3FBBBA35C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4819 + store float 0x3FC9064D00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4819 + store float 0x3FE5D71600000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4819 + store float 0x3FEB36A6A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4819 + store float 0x3FEC471A80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4819 + store float 0x3FE6EC5B40000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4819 + store float 0x3FEA2F1920000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4819 + store float 0x3FD3DCB2A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4819 + store float 0x3FDBF990A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4819 + store float 0x3FDBB092A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4819 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4819 + store float 0x3FC33C5AC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4819 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4819 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4819 + call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4819 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300516EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300516EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE427_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp13 = alloca %"struct.std::array.2413", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp13.ascast = addrspacecast ptr %ref.tmp13 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 28, ptr nonnull %ref.tmp13) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2413") align 4 %ref.tmp13.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm7EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(28) %ref.tmp13.ascast) #13 + call void @llvm.lifetime.end.p0(i64 28, ptr nonnull %ref.tmp13) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { +entry: + tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm3EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1155 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4822 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4822 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4822 + %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4822 + %call3.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_minmagDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300263EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300263EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE262_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4637 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4825 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4826 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4827 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301084EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE819_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300794EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300794EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE617_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300920EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE699_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4828 + store float 0x3FD566C220000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4828 + store float 0x3FE6702380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4828 + store float 0x3FDEFB0620000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4828 + store float 0x3FBBE0DF00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4828 + store float 0x3FD6223060000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4828 + store float 0x3FE1149800000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4828 + store float 0x3FC8B6F860000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4828 + store float 0x3FDFB1CAC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4828 + store float 0x3FC1A83940000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4828 + store float 0x3FD9AA5520000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4828 + store float 0x3FD0216EA0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4828 + store float 0x3FDBD48020000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4828 + store float 0x3FD9A97120000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4828 + store float 0x3FE88B5AC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4828 + store float 0x3FDD5BEDC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4828 + store float 0x3FCB39C220000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4828 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4828 + store float 0x3FE915AC00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4828 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4828 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4828 + call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4828 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1852 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4831 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4831 + %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_sinDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm9EE6_S_refERA9_Kim(ptr addrspace(4) noundef align 4 dereferenceable(36) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIS4_Lm3EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, ptr addrspace(4) noundef align 2 dereferenceable(6) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %Arr, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %Arr, i64 noundef 1) #13 + %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element3 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 2 + %call4 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %Arr, i64 noundef 2) #13 + %3 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element3, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301085EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE820_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm2EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300728EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 + store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4834 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4834 + store float 0x3FE8302460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4834 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4834 + store float 0x3FE0452D40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4834 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4834 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4834 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4834 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4834 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4834 + store float 0x3FD4058920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4834 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4834 + store float 0x3FCC839200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4834 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4834 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4834 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4834 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4834 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4834 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4834 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4834 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4834 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4834 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4834 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4834 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4834 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300665EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300665EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE532_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { +entry: + br label %arrayinit.body + +arrayinit.body: ; preds = %arrayinit.body, %entry + %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] + %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx + store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 + %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 + %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 2 + br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body + +arrayinit.end2: ; preds = %arrayinit.body + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm2EE6_S_refERA2_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(4) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [2 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %a1.ascast, i64 noundef %conv) #13 + %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 + call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4837 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301064EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301064EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE799_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4838 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4839 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300149EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300149EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE148_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300262EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE261_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4840 + store float 0x3FE43580A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4840 + store float 0x3FEBD4A7E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4840 + store float 0x3FE6B2AB60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4840 + store float 0x3FE9DC2DE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4840 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4840 + store float 0x3FC8F9D8E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4840 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4840 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4840 + call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4840 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !659 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4843 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4843 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_sqrtDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300855EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4846 + store float 0x3FB9C01560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4846 + store float 0x3FDCDB4BE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4846 + store float 0x3FBA37F060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4846 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4846 + store float 0x3FE3ADA3E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4846 + store float 0x3FE5273AA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4846 + store float 0x3FC29E82C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4846 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4846 + store i32 3017, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4846 + store i32 17418, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4846 + store i32 24782, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4846 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4846 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4846 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4846 + %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4846 + store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4846 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4846 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301047EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE782_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !362 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4849 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4849 + %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_atanhDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300976EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1786.211, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300976EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300454EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp3.i = alloca i32, align 4 + %ref.tmp4.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4852 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4852 + store float 0x3FCE999460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4852 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4852 + store float 0x3FE2B5BC20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4852 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4852 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4852 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4852 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4852 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4852 + store i32 -23985, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !4852 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4852 + store i32 -30284, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4852 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4852 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4852 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4852 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4852 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4852 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4852 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4852 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4852 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4852 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4852 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4852 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4852 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 + store i64 %5, ptr addrspace(4) %call8, align 4, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1723 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4855 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4855 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_log10Dv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300745EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE576_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1854.214, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4858 + store float 0x3FE77A9860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4858 + store float 0x3FE498E2C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4858 + store float 0x3FD0E2A720000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4858 + store float 0x3FD0143040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4858 + store float 0x3FD0B6A220000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4858 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4858 + store float 0x3FD4192780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4858 + store float 0x3FD3506120000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4858 + store float 0x3FE123B7C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4858 + store float 0x3FD2928B40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4858 + store float 0x3FE1E08B20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4858 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4858 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4858 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !4858 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4858 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !4858 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !4858 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4858 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300584EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300584EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE463_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EE4sizeEv() #1 comdat align 2 !srcloc !587 { +entry: + ret i64 2 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300788EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE611_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4861 + store float 0x3FDEBE2A60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4861 + store float 0x3FC2821DC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4861 + store float 0x3FE4FB1320000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4861 + store float 0x3FE2993640000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4861 + store float 0x3FE5B9C1E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4861 + store float 0x3FC9559440000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4861 + store float 0x3FE937FB80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4861 + store float 0x3FC41092E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4861 + store float 0x3FDEE01360000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4861 + store float 0x3FE899F060000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4861 + store float 0x3FCEEA5EA0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4861 + store float 0x3FE38BDBC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4861 + store float 0x3FE5AA7BA0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4861 + store float 0x3FD253C300000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4861 + store float 0x3FE0066260000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4861 + store float 0x3FC4D2B200000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4861 + store float 0x3FDB611D60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4861 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4861 + store i32 -9551, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4861 + store i32 -10807, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4861 + store i32 10559, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4861 + store i32 3083, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4861 + store i32 13741, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4861 + store i32 23949, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4861 + store i32 -2088, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4861 + store i32 5007, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4861 + store i32 -10153, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4861 + store i32 22548, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4861 + store i32 -20593, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4861 + store i32 -656, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4861 + store i32 -9630, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4861 + store i32 -6170, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4861 + store i32 8643, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4861 + store i32 5574, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !4861 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4861 + store i32 -30096, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !4861 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4861 + call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !4861 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4861 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4864 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2585 + %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { +entry: + %arrayidx = getelementptr inbounds [2 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300049EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300049EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE48_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm17EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(68) %left, ptr addrspace(4) noundef align 4 dereferenceable(68) %right) #1 comdat !srcloc !145 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm17EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !4865 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301034EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE769_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1764 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300666EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE533_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4866 + store float 0x3FD9B288C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4866 + store float 0x3FE0E2F640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4866 + store float 0x3FD98B1B00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4866 + store float 0x3FD11C3FA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4866 + store float 0x3FE8F311E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4866 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4866 + store float 0x3FC3ED3220000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4866 + store float 0x3FD9AB2460000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4866 + store float 0x3FE745E6A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4866 + store float 0x3FE018B9E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4866 + store float 0x3FE07B6BA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4866 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_2.i) #13, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4866 + store float 0x3FC859C640000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4866 + store float 0x3FD1283C40000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4866 + store float 0x3FE5E98D20000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4866 + store float 0x3FD669E0A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4866 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4866 + store float 0x3FE616D5A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4866 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4866 + call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_2.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_2.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4866 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4866 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300295EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300295EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE294_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp6 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + %1 = load i64, ptr %a1, align 2 + %2 = load i64, ptr %a2, align 2 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 + store i64 %2, ptr %agg.tmp6, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp6, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %3 = load i32, ptr %PartialRes, align 4 + store i32 %3, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4869 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <16 x i32> @_ZNK4sycl3_V13vecIiLi16EEcvDv16_iEv(ptr addrspace(4) noundef align 64 dereferenceable_or_null(64) %this) #1 comdat align 2 !srcloc !954 { +entry: + %0 = load <16 x i32>, ptr addrspace(4) %this, align 64, !tbaa !69 + ret <16 x i32> %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(4) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %class.anon, align 1 + %agg.tmp1 = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(4) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <3 x i32> @_ZNK4sycl3_V13vecIiLi3EEcvDv3_iEv(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this) #1 comdat align 2 !srcloc !954 { +entry: + %loadVec4 = load <4 x i32>, ptr addrspace(4) %this, align 16 + %extractVec = shufflevector <4 x i32> %loadVec4, <4 x i32> poison, <3 x i32> + ret <3 x i32> %extractVec +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr addrspace(1) %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300335EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE334_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4870 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4870 + store float 0x3FE711C540000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4870 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4870 + store float 0x3FE25E8FC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4870 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4870 + store float 0x3FCB8B90E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4870 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4870 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4870 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4870 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4870 + store half 0xH3A62, ptr %agg.tmp4.i, align 2, !tbaa.struct !119, !noalias !4870 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4870 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1860 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4873 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_rsqrtDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !2115 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4876 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4876 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_coshDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm5EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm5EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300348EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE347_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4879 + store float 0x3FE18DEBE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4879 + store float 0x3FBCF1D9A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4879 + store float 0x3FC95D5740000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4879 + store float 0x3FD6431200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4879 + store float 0x3FE3562020000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4879 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4879 + store float 0x3FD9EDF340000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4879 + store float 0x3FD3884A40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4879 + store float 0x3FDA0D7A80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4879 + store float 0x3FDE1C8D00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4879 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4879 + store float 0x3FE26BDC40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4879 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4879 + call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4879 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4879 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE33_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4882 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300994EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1900.217, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300994EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { +entry: + ret ptr addrspace(1) %from +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300022EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE21_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH39ED, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4885 + call spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300116EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE115_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4888 + store float 0x3FE10D31A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4888 + store float 0x3FD0B35F60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4888 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4888 + store float 0x3FD5968940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4888 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4888 + store float 0x3FDD04F240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4888 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4888 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4888 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4888 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !4888 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4888 + call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4888 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm17EE6_S_refERA17_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(34) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300045EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE44_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300063EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE62_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { +entry: + %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %AccessRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4891 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !694 + ret ptr addrspace(3) %0 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300741EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1824.213, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300741EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !2115 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4892 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4892 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_coshDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300003EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE2_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300667EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE534_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp35.i = alloca float, align 4 + %ref.tmp36.i = alloca float, align 4 + %ref.tmp37.i = alloca float, align 4 + %ref.tmp38.i = alloca float, align 4 + %ref.tmp39.i = alloca float, align 4 + %ref.tmp40.i = alloca float, align 4 + %ref.tmp41.i = alloca float, align 4 + %ref.tmp42.i = alloca float, align 4 + %ref.tmp43.i = alloca float, align 4 + %ref.tmp44.i = alloca float, align 4 + %ref.tmp45.i = alloca float, align 4 + %ref.tmp46.i = alloca float, align 4 + %ref.tmp47.i = alloca float, align 4 + %ref.tmp48.i = alloca float, align 4 + %ref.tmp49.i = alloca float, align 4 + %ref.tmp50.i = alloca float, align 4 + %ref.tmp51.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) + %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) + %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) + %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) + %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) + %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) + %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) + %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) + %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) + %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) + %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) + %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) + %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) + %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) + %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) + %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) + %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4895 + store float 0x3FE2874DA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4895 + store float 0x3FE50AE980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4895 + store float 0x3FD5BCFFC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4895 + store float 0x3FDBADD040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4895 + store float 0x3FE8FAEE00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4895 + store float 0x3FD03D9500000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4895 + store float 0x3FC458A520000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4895 + store float 0x3FE7B2E260000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4895 + store float 0x3FE947ABE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4895 + store float 0x3FCF285A20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4895 + store float 0x3FE8190900000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4895 + store float 0x3FD22C0820000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4895 + store float 0x3FE77A7B40000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4895 + store float 0x3FE4DAE800000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4895 + store float 0x3FDE0BD520000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4895 + store float 0x3FDA85F900000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4895 + store float 0x3FE979ECE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4895 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4895 + store float 0x3FD1641AA0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4895 + store float 0x3FE2320900000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4895 + store float 0x3FD005B4A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4895 + store float 0x3FEB10A160000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4895 + store float 0x3FC71FB380000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4895 + store float 0x3FEB2F7880000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4895 + store float 0x3FEA278D60000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4895 + store float 0x3FEBF9A2E0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4895 + store float 0x3FE5AA5C00000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4895 + store float 0x3FEB65CA00000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4895 + store float 0x3FBCA45300000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4895 + store float 0x3FD8F888C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4895 + store float 0x3FE0B831C0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4895 + store float 0x3FE1B2D180000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4895 + store float 0x3FBF9A9AE0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4895 + store float 0x3FE9760300000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4895 + store float 0x3FCAE9B6A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4895 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_2.i) #13, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4895 + store float 0x3FCAE31E40000000, ptr %ref.tmp35.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4895 + store float 0x3FC48E3880000000, ptr %ref.tmp36.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4895 + store float 0x3FEA1FB540000000, ptr %ref.tmp37.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4895 + store float 0x3FD1749440000000, ptr %ref.tmp38.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4895 + store float 0x3FE31F7040000000, ptr %ref.tmp39.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4895 + store float 0x3FEA3C8C40000000, ptr %ref.tmp40.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4895 + store float 0x3FE4EF2820000000, ptr %ref.tmp41.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4895 + store float 0x3FE4C14DC0000000, ptr %ref.tmp42.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4895 + store float 0x3FE8190AC0000000, ptr %ref.tmp43.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4895 + store float 0x3FC5206300000000, ptr %ref.tmp44.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4895 + store float 0x3FE3F6AF40000000, ptr %ref.tmp45.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4895 + store float 0x3FDBBA3EA0000000, ptr %ref.tmp46.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4895 + store float 0x3FE58CEE80000000, ptr %ref.tmp47.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4895 + store float 0x3FE3DF8840000000, ptr %ref.tmp48.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4895 + store float 0x3FD679ECE0000000, ptr %ref.tmp49.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4895 + store float 0x3FE1BDC560000000, ptr %ref.tmp50.i, align 4, !tbaa !82, !noalias !4895 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4895 + store float 0x3FE6C8BBC0000000, ptr %ref.tmp51.i, align 4, !tbaa !82, !noalias !4895 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4895 + call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_2.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_2.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4895 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4895 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300093EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE92_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4898 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4901 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !659 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4903 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4903 + %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_sqrtDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300477EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE392_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2401.238, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4906 + store float 0x3FE2FBAB00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4906 + store float 0x3FD95326C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4906 + store float 0x3FDAB643A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4906 + store float 0x3FE6F85DC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4906 + store float 0x3FE481F300000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4906 + store float 0x3FE90EA8C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4906 + store float 0x3FE7E47E80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4906 + store float 0x3FDF7AC700000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4906 + store float 0x3FC77E67E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4906 + store float 0x3FDC03E8A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4906 + store float 0x3FE7684D20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4906 + store float 0x3FD9317C20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4906 + store float 0x3FE8C49000000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4906 + store float 0x3FDAD5C480000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4906 + store float 0x3FE82385A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4906 + store float 0x3FE6A22200000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4906 + store float 0x3FE46476A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4906 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4906 + store i32 -31841, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4906 + store i32 -5458, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4906 + store i32 27208, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4906 + store i32 15329, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4906 + store i32 -4611, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4906 + store i32 -20648, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4906 + store i32 8747, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4906 + store i32 -31106, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4906 + store i32 16411, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4906 + store i32 22085, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4906 + store i32 -6110, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4906 + store i32 22952, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4906 + store i32 -217, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4906 + store i32 22192, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4906 + store i32 8943, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4906 + store i32 -17565, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4906 + store i32 -30560, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !4906 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4906 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4906 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4906 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4906 + store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !4906 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !4906 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4906 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !3254 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4909 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_log2Dv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !362 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4912 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4912 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_atanhDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300729EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 + store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4915 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4915 + store float 0x3FC355D720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4915 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4915 + store float 0x3FE95F9440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4915 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4915 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4915 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4915 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4915 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4915 + store float 0x3FD1C357E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4915 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4915 + store float 0x3FC3A46040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4915 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4915 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4915 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4915 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4915 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4915 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4915 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4915 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4915 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4915 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4915 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4915 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4915 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4918 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJLm0ELm1EEEERKSt5arrayIiLm2EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(8) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %Arr, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %Arr, i64 noundef 1) #13 + %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300329EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE328_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4919 + store half 0xH388D, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4919 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300521EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300521EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE432_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300536EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300536EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE447_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !854 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300121EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300121EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE120_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300454EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2223, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300454EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !3254 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4922 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4922 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_log2Dv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300179EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE178_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4925 + call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE819_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4928 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4928 + store float 0x3FCCB35160000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4928 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4928 + store float 0x3FDED08B00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4928 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4928 + store float 0x3FE74F92E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4928 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4928 + store float 0x3FE873E780000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4928 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4928 + store float 0x3FE90921A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4928 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4928 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4928 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4928 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4928 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4928 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4928 + call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4928 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2895 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4931 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4931 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4931 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300125EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE124_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4932 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3944 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1852 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4935 + %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_sinDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300649EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE516_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4938 + call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300675EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300675EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE542_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300895EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE674_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4941 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4941 + store float 0x3FD10AAE40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4941 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4941 + store float 0x3FD997C660000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4941 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4941 + store float 0x3FE2E30B60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4941 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4941 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4941 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4941 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4941 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !4941 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4941 + store i32 -16652, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4941 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4941 + store i32 24465, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4941 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4941 + store i32 -28169, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4941 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4941 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4941 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4941 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4941 + call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %inputData_1.i) #14 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !4941 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4941 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300684EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE551_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4944 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4944 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !4947 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3312 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300337EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE336_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp6.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4949 + store float 0x3FE07E4CA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4949 + store float 0x3FEC444840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4949 + store float 0x3FE5658A60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4949 + store float 0x3FE585CD80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4949 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4949 + store float 0x3FE3FCEF20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4949 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4949 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4949 + store half 0xH3B20, ptr %agg.tmp6.i, align 2, !tbaa.struct !119, !noalias !4949 + call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4949 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp6.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds i32, ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE22_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4952 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300815EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300815EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %left, ptr addrspace(4) noundef align 2 dereferenceable(6) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { +entry: + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE4sizeEv() #13 + %cmp = icmp ult i64 %i.0, %call + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %left, i64 noundef %i.0) #13 + %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %right, i64 noundef %i.0) #13 + tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 + %inc = add nuw i64 %i.0, 1 + br label %for.cond, !llvm.loop !4955 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300587EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4956 + store float 0x3FD3EC2960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4956 + store float 0x3FC0F2C200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4956 + store float 0x3FE294BE60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4956 + store float 0x3FE5D04FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4956 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4956 + store i32 12383, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4956 + store i32 30536, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4956 + store i32 24435, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4956 + store i32 31009, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4956 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4956 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4956 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4956 + %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4956 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !4956 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4956 + store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !4956 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4956 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %3, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300352EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1520.196, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 + store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300352EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300684EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300684EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE551_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr addrspace(3) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300142EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE141_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4959 + store float 0x3FE62497A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4959 + store float 0x3FC04F42A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4959 + store float 0x3FE4A066E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4959 + store float 0x3FE2196B60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4959 + store float 0x3FE71040E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4959 + store float 0x3FD53C92A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4959 + store float 0x3FE4C3B220000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4959 + store float 0x3FD100DFE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4959 + store float 0x3FE0BFD640000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4959 + store float 0x3FD7D285E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4959 + store float 0x3FEC3F9980000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4959 + store float 0x3FEC146CC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4959 + store float 0x3FD1196880000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4959 + store float 0x3FE1B0C9C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4959 + store float 0x3FD74478A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4959 + store float 0x3FEBFE9CA0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4959 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4959 + store float 0x3FEADE2C60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4959 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4959 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4959 + call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4959 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300458EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300458EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE385_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300192EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300192EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE191_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EEC2EPU3AS0S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4962 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300211EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE210_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 61187059234784, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4963 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300101EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE100_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 64309478764469, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4966 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3779 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300503EN4sycl3_V16marrayIiLm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE414_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.2391", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4969 + store float 0x3FEAEB3D60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4969 + store float 0x3FD1FCEB60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4969 + store float 0x3FDFFBD160000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4969 + store float 0x3FE38C8B80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4969 + store float 0x3FC1E82640000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4969 + store float 0x3FDB91F100000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4969 + store float 0x3FE2AE3360000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4969 + store float 0x3FE8B930A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4969 + store float 0x3FC11A6080000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4969 + store float 0x3FD6D88DC0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4969 + store float 0x3FD68B1AE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4969 + store float 0x3FCD81DD00000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4969 + store float 0x3FD70D04A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4969 + store float 0x3FEC944C60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4969 + store float 0x3FDF854DC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4969 + store float 0x3FC44A4AE0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4969 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4969 + store float 0x3FE7505940000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4969 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4969 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4969 + call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2391") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4969 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm17EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 4 dereferenceable(68) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(16) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 + %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 3) #13 + %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 + %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 + %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 4) #13 + %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 + %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 + %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 5) #13 + %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 + store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 + %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 + %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 6) #13 + %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 + store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 + %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 + %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 7) #13 + %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 + store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300311EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300311EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE310_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300991EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300991EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300867EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2364, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300867EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300815EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_2.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4972 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4972 + store half 0xH2FF3, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4972 + store half 0xH3B32, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !4972 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4972 + store i64 %0, ptr %agg.tmp4.i, align 8, !tbaa !128, !noalias !4972 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp4.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4972 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !4975 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4976 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4976 + %call1.i = tail call spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %a1) #13, !noalias !4976 + %call2.i = tail call spir_func noundef half @_Z17__spirv_ocl_rootnDF16_i(half noundef %call.i, i32 noundef %call1.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp13 = alloca %"struct.std::array.151.22", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp13.ascast = addrspacecast ptr %ref.tmp13 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 14, ptr nonnull %ref.tmp13) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.151.22") align 2 %ref.tmp13.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm7EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(14) %ref.tmp13.ascast) #13 + call void @llvm.lifetime.end.p0(i64 14, ptr nonnull %ref.tmp13) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300848EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300848EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE647_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { +entry: + tail call spir_func void @_ZN4sycl3_V16marrayIiLm17EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300009EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE8_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4979 + store float 0x3FD2E36380000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4979 + store float 0x3FD70CEB20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4979 + store float 0x3FE97BEBA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4979 + store float 0x3FD02EC120000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4979 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4979 + store float 0x3FE1BA7040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4979 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4979 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4979 + call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4979 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { +entry: + %arrayidx = getelementptr inbounds [4 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300757EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300757EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE580_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !4982 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4983 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4983 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !4983 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !4983 + %call3.i = tail call spir_func noundef half @_Z21__spirv_ocl_nextafterDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !4986 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300884EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE663_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4987 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4987 + store float 0x3FE0A82640000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4987 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4987 + store float 0x3FEC68BFC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4987 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4987 + store float 0x3FD98EA960000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4987 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4987 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4987 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4987 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4987 + call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4987 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !4990 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !621 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1546 + %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4991 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 + %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 + %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 + store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 + %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4992 + %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 + %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 + store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 + %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4993 + %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 + %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 + %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 + store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300416EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300416EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE371_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300522EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE433_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4994 + store float 0x3FE9425F80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4994 + store float 0x3FE9AFB640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4994 + store float 0x3FE492C3E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4994 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4994 + store float 0x3FEB32B3C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4994 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4994 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4994 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4994 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4994 + call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, i32 noundef 14098) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4994 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300810EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300810EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE633_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300324EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300324EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE323_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300269EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE268_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4997 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4997 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm14EE6_S_refERA14_Kim(ptr addrspace(4) noundef align 4 dereferenceable(56) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { +entry: + %arrayidx = getelementptr inbounds [14 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2748 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300098EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE97_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5000 + store float 0x3FD96FB6C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5000 + store float 0x3FE34C2CE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5000 + store float 0x3FCCE24B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5000 + store float 0x3FE50B44C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5000 + store float 0x3FD9EDD980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5000 + store float 0x3FE254C980000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5000 + store float 0x3FCB1693A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5000 + store float 0x3FE44EB2C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5000 + store float 0x3FD8871B80000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5000 + store float 0x3FDE99B8E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5000 + store float 0x3FDBA74BC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5000 + store float 0x3FDECECD60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5000 + store float 0x3FE4FBF520000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5000 + store float 0x3FD6B1A340000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5000 + store float 0x3FE3E48120000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5000 + store float 0x3FC2F77C80000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5000 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5000 + store float 0x3FD5C4FCA0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5000 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5000 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5000 + call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5000 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm14EE6_S_refERA14_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(28) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [14 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !239 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5003 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5003 + %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_logDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301004EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE739_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5006 + store float 0x3FE8F27A20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5006 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5006 + store float 0x3FE9D360A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5006 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5006 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5006 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5006 + call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5006 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300506EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300506EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE417_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300809EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300809EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE632_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300587EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2317, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300587EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300912EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300912EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE691_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm17EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !418 + %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300583EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp8.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5009 + store float 0x3FE712AEC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5009 + store float 0x3FE57D3040000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5009 + store float 0x3FE0026600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5009 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5009 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5009 + store i32 3239, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !5009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5009 + store i32 -22419, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !5009 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5009 + store i32 -5099, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !5009 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5009 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5009 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5009 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5009 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5009 + store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !5009 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5009 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5009 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5009 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300682EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300682EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE549_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300603EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE470_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !5012 + call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 + %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 + %conv = fptrunc float %call to half + %splat.splatinsert = insertelement <4 x half> poison, half %conv, i64 0 + %splat.splat = shufflevector <4 x half> %splat.splatinsert, <4 x half> poison, <4 x i32> zeroinitializer + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + store <4 x half> %splat.splat, ptr addrspace(4) %this, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !663 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5015 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !5015 + %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_tgammaDv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5018 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5019 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5020 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300990EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5021 + store float 0x3FD2ACB120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5021 + store float 0x3FE7B761A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5021 + store float 0x3FE95AD920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5021 + store float 0x3FCEB3C480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5021 + store float 0x3FBDEC5C20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5021 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5021 + store float 0x3FE69527A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5021 + store float 0x3FE9A103C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5021 + store float 0x3FCAA1B100000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5021 + store float 0x3FE42BC080000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5021 + store float 0x3FEA20E6A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5021 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5021 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5021 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5021 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5021 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !5021 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5021 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIiLm17EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, ptr addrspace(4) noundef align 4 dereferenceable(68) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 + store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 + %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 + %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 1) #13 + %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 + store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 + %arrayinit.element3 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 2 + %call4 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 2) #13 + %3 = load i32, ptr addrspace(4) %call4, align 4, !tbaa !126 + store i32 %3, ptr addrspace(4) %arrayinit.element3, align 4, !tbaa !126 + %arrayinit.element5 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 3 + %call6 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 3) #13 + %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 + store i32 %4, ptr addrspace(4) %arrayinit.element5, align 4, !tbaa !126 + %arrayinit.element7 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 4 + %call8 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 4) #13 + %5 = load i32, ptr addrspace(4) %call8, align 4, !tbaa !126 + store i32 %5, ptr addrspace(4) %arrayinit.element7, align 4, !tbaa !126 + %arrayinit.element9 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 5 + %call10 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 5) #13 + %6 = load i32, ptr addrspace(4) %call10, align 4, !tbaa !126 + store i32 %6, ptr addrspace(4) %arrayinit.element9, align 4, !tbaa !126 + %arrayinit.element11 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 6 + %call12 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 6) #13 + %7 = load i32, ptr addrspace(4) %call12, align 4, !tbaa !126 + store i32 %7, ptr addrspace(4) %arrayinit.element11, align 4, !tbaa !126 + %arrayinit.element13 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 7 + %call14 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 7) #13 + %8 = load i32, ptr addrspace(4) %call14, align 4, !tbaa !126 + store i32 %8, ptr addrspace(4) %arrayinit.element13, align 4, !tbaa !126 + %arrayinit.element15 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 8 + %call16 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 8) #13 + %9 = load i32, ptr addrspace(4) %call16, align 4, !tbaa !126 + store i32 %9, ptr addrspace(4) %arrayinit.element15, align 4, !tbaa !126 + %arrayinit.element17 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 9 + %call18 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 9) #13 + %10 = load i32, ptr addrspace(4) %call18, align 4, !tbaa !126 + store i32 %10, ptr addrspace(4) %arrayinit.element17, align 4, !tbaa !126 + %arrayinit.element19 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 10 + %call20 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 10) #13 + %11 = load i32, ptr addrspace(4) %call20, align 4, !tbaa !126 + store i32 %11, ptr addrspace(4) %arrayinit.element19, align 4, !tbaa !126 + %arrayinit.element21 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 11 + %call22 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 11) #13 + %12 = load i32, ptr addrspace(4) %call22, align 4, !tbaa !126 + store i32 %12, ptr addrspace(4) %arrayinit.element21, align 4, !tbaa !126 + %arrayinit.element23 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 12 + %call24 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 12) #13 + %13 = load i32, ptr addrspace(4) %call24, align 4, !tbaa !126 + store i32 %13, ptr addrspace(4) %arrayinit.element23, align 4, !tbaa !126 + %arrayinit.element25 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 13 + %call26 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 13) #13 + %14 = load i32, ptr addrspace(4) %call26, align 4, !tbaa !126 + store i32 %14, ptr addrspace(4) %arrayinit.element25, align 4, !tbaa !126 + %arrayinit.element27 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 14 + %call28 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 14) #13 + %15 = load i32, ptr addrspace(4) %call28, align 4, !tbaa !126 + store i32 %15, ptr addrspace(4) %arrayinit.element27, align 4, !tbaa !126 + %arrayinit.element29 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 15 + %call30 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 15) #13 + %16 = load i32, ptr addrspace(4) %call30, align 4, !tbaa !126 + store i32 %16, ptr addrspace(4) %arrayinit.element29, align 4, !tbaa !126 + %arrayinit.element31 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 16 + %call32 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 16) #13 + %17 = load i32, ptr addrspace(4) %call32, align 4, !tbaa !126 + store i32 %17, ptr addrspace(4) %arrayinit.element31, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5024 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5024 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !5024 + %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !5024 + %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS0i(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !5024 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301012EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE747_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(6) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 + %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 + %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 + %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %A2, i64 noundef 0) #13 + %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 + %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 + %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %A2, i64 noundef 1) #13 + %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 + %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 + %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %A2, i64 noundef 2) #13 + %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 + store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300662EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300662EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE529_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300212EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300212EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE211_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300185EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300185EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE184_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301031EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE766_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH376D, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5027 + call spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301048EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301048EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE783_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp3 = alloca %"class.sycl::_V1::marray.2202", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp3) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp3.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp3) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300389EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 + store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5030 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5030 + store float 0x3FE800A060000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5030 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5030 + store float 0x3FCA17B000000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5030 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5030 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5030 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5030 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5030 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5030 + store float 0x3FEBF68980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5030 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5030 + store float 0x3FDED6C560000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5030 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5030 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5030 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5030 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5030 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5030 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5030 + store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !5030 + %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5030 + store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !5030 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5030 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5030 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5030 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) + %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301043EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301043EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE778_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %t) #1 comdat !srcloc !1175 { +entry: + %t.addr = alloca <3 x half>, align 8 + %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) + %extractVec = shufflevector <3 x half> %t, <3 x half> poison, <4 x i32> + store <4 x half> %extractVec, ptr %t.addr, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t.addr.ascast) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !655 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !5033 + %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_asinhDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm4EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300221EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300221EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE220_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4901 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5036 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5036 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5036 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm2EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { +entry: + %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 + store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { +entry: + store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1799 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300226EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE225_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5037 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5037 + store float 0x3FEBF85900000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5037 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5037 + store float 0x3FEC650E00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5037 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5037 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5037 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5037 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5037 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5037 + call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5037 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !927 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !5040 + %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_asinpiDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5043 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5043 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !5043 + %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !5043 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !5043 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300631EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300631EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE498_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300889EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE668_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.1972", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !5046 + store <2 x i32> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !5046 + call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !652 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300291EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE290_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp3.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !5049 + store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !5049 + store <16 x half> , ptr %agg.tmp3.i, align 32, !tbaa.struct !68, !noalias !5049 + call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300193EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE192_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5052 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5052 + store float 0x3FE2E56680000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5052 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5052 + store float 0x3FCDC60C20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5052 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5052 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5052 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5052 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5052 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5052 + call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5052 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300206EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300206EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE205_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300924EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300924EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE703_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !280 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5055 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !5055 + %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_ceilDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300775EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300775EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE598_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301001EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE736_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300605EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300605EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE472_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300004EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300004EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE3_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300228EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE227_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5058 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5058 + store float 0x3FD0A7CB20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5058 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5058 + store float 0x3FD721FC00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5058 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5058 + store float 0x3FC861DD20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5058 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5058 + store float 0x3FE79BCCE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5058 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5058 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5058 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5058 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5058 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5058 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !5058 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5058 + call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5058 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300668EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE535_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store half 0xH3A98, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5061 + store half 0xH3A7D, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5061 + call spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5064 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300493EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300493EiZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE404_EvS5_T1_NS2_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRN4sycl3_V17handlerEE_clESM_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300138EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE137_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5065 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5065 + store float 0x3FDA8032C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5065 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5065 + store float 0x3FD64FA600000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5065 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5065 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5065 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5065 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5065 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5065 + call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5065 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300078EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE77_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300266EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE265_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store i64 64116213561460, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5068 + store i64 61715321469069, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !5068 + call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300082EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300082EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE81_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300302EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300302EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE301_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300123EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE122_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 62707478443115, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5071 + call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300777EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300777EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE600_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + %call1 = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1DF16_PU3AS1NS1_9half_impl4halfEEET_T0_(ptr addrspace(1) noundef %call) #13 + ret ptr addrspace(1) %call1 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300671EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE538_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5074 + store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !5074 + call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !3558 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !5077 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_sinpiDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300690EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE557_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.195, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5080 + store i16 14797, ptr %multiPtrSourceData.i, align 2, !noalias !5080 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5080 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5080 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !5080 + store half 0xH34D5, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5080 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5080 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !5080 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !5080 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !5080 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !5080 + %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !5080 + store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !5080 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !5080 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5080 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5080 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %4 = load i16, ptr %resArg, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm9EE6_S_refERA9_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(18) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300880EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300880EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE659_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi2EEC2IDv2_ivEES4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, <2 x i32> noundef %openclVector) #4 comdat align 2 !srcloc !5083 { +entry: + store <2 x i32> %openclVector, ptr addrspace(4) %this, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300202EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE201_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !5084 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { +entry: + %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(3) %call, i64 %Index + %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 + %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 + %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 + store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29) #1 comdat align 2 !srcloc !115 { +entry: + %ImmArray = alloca %"struct.std::array.2215", align 4 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp31 = alloca %"struct.std::array.2404", align 4 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp31.ascast = addrspacecast ptr %ref.tmp31 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %ref.tmp31) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2404") align 4 %ref.tmp31.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm16EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(64) %ref.tmp31.ascast) #13 + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp31) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300351EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE350_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %result = alloca %struct.privatePtrCheck.195, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5087 + store i16 15079, ptr %multiPtrSourceData.i, align 2, !noalias !5087 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5087 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5087 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !5087 + store half 0xH3794, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5087 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5087 + store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !5087 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !5087 + %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !5087 + store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !5087 + %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !5087 + store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !5087 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !5087 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5087 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5087 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %3 = load i16, ptr %result, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 + %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %4 = load i16, ptr %resArg, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300478EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2422, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300478EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300874EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2422, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300874EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %X.ascast = addrspacecast ptr %X to ptr addrspace(4) + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %X.ascast, i64 noundef %Start) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %add = add i64 %Start, 1 + %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %X.ascast, i64 noundef %add) #13 + %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + %2 = load i64, ptr %a2, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5090 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5090 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !5090 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !5090 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !5090 + %call4.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp3.i) #13, !noalias !5090 + %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS0i(half noundef %call.i, half noundef %call2.i, ptr noundef %call4.i) #14, !noalias !5090 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300807EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300807EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE630_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.1972") align 8 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 + ret <2 x i32> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300989EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1862.215, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 + %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300989EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300387EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE362_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %result = alloca %struct.privatePtrCheck.1740.208, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5093 + store float 0x3FEA1BEC60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5093 + store float 0x3FD4C09480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5093 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5093 + store float 0x3FE5094760000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5093 + store float 0x3FD15C1480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5093 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5093 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5093 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5093 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !5093 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5093 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5093 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5093 + store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !5093 + call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !5093 + %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !5093 + store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !5093 + %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !5093 + store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !5093 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !5093 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5093 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %4 = load i32, ptr %result, align 4, !tbaa !69 + store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %5 = load i32, ptr %resArg, align 2, !tbaa !69 + store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !4947 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300326EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300326EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE325_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300210EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300210EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE209_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300865EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300865EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE652_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3815 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !5096 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !5097 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !5096 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !685 { +entry: + %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) + store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !5098 + %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !5098 + %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fdimDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5101 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5102 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5102 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !5102 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !5102 + %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS1i(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !5102 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300578EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE461_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2260.232, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5105 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5105 + store float 0x3FCC8720E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5105 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5105 + store float 0x3FDF06CBC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5105 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5105 + store float 0x3FE280CA20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5105 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5105 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5105 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5105 + store i32 17997, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !5105 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5105 + store i32 -2509, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !5105 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5105 + store i32 1898, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !5105 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5105 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5105 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5105 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5105 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5105 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !5105 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !5105 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5105 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5108 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300420EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5109 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5109 + store half 0xH31B7, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5109 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5109 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !5109 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5109 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300195EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300195EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE194_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300159EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE158_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !5112 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300580EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp4.i = alloca i32, align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5115 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5115 + store float 0x3FEB465E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5115 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5115 + store float 0x3FE6ECEAC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5115 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5115 + store float 0x3FE2C4D580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5115 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5115 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5115 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5115 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5115 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5115 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5115 + store i32 18073, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !5115 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5115 + store i32 -1268, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !5115 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5115 + store i32 27608, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !5115 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5115 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5115 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5115 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5115 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5115 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5115 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5115 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !5115 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5115 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5115 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5115 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm3EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { +entry: + %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 + ret ptr %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300112EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300112EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE111_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !2115 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5118 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5118 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_coshDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300001EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE0_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !5121 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5122 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5122 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !5122 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !5122 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_atan2DF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300303EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300303EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE302_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { +entry: + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + ret ptr addrspace(1) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !5125 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5126 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5126 + %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_acospiDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300103EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE102_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !5129 + call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3868 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300044EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300044EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE43_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5132 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300516EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE427_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 58721757313184, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5133 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, i32 noundef -7156) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300574EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2223, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 + store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %1 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %1, ptr %agg.tmp, align 8 + %2 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %2, ptr %agg.tmp11, align 8 + %3 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %3, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %4 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %4, ptr %agg.tmp14, align 8 + %5 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %5, ptr %agg.tmp15, align 8 + %6 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %6, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %7 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %7, ptr %agg.tmp18, align 8 + %8 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %8, ptr %agg.tmp19, align 8 + %9 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %9, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300574EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300868EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %ref.tmp13.i = alloca i32, align 4 + %ref.tmp14.i = alloca i32, align 4 + %ref.tmp15.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp18.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp18.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5136 + store float 0x3FD2B06220000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5136 + store float 0x3FE3631340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5136 + store float 0x3FE0788940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5136 + store float 0x3FEB9A97A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5136 + store float 0x3FD97D9C40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5136 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5136 + store float 0x3FE90A65C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5136 + store float 0x3FE9D8CCA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5136 + store float 0x3FE75CAD20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5136 + store float 0x3FE531DE40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5136 + store float 0x3FE126ED00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5136 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5136 + store i32 -23934, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5136 + store i32 6505, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5136 + store i32 -14778, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5136 + store i32 15240, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5136 + store i32 -1988, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !5136 + call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5136 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5136 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5136 + %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !5136 + store i64 %1, ptr %agg.tmp18.i, align 8, !tbaa !128, !noalias !5136 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp18.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5136 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp18.i) + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE796_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5139 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5139 + store float 0x3FE99181C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5139 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5139 + store float 0x3FD252F000000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5139 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5139 + store float 0x3FCD8076E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5139 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5139 + store float 0x3FE80D0FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5139 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5139 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5139 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5139 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5139 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5139 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !5139 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5139 + call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5139 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !235 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5142 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !5142 + %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_roundDv2_DF16_(<2 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300227EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300227EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE226_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !5145 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.2156") align 64 %t) #1 comdat !srcloc !84 { +entry: + %t.ascast = addrspacecast ptr %t to ptr addrspace(4) + %call = call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_iNS0_3vecIiLi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 64 dereferenceable(64) %t.ascast) #13 + ret <16 x i32> %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1860 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !5146 + %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_rsqrtDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, <2 x i32> noundef %t) #1 comdat !srcloc !84 { +entry: + %t.addr = alloca <2 x i32>, align 8 + %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) + store <2 x i32> %t, ptr %t.addr, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t.addr.ascast) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300687EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE554_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5149 + store float 0x3FE5660C20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5149 + store float 0x3FE9B91720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5149 + store float 0x3FDD4A0040000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5149 + store float 0x3FBC8EB980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5149 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5149 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5149 + store float 0x3FE7755520000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5149 + store float 0x3FCD7E56A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5149 + store float 0x3FDFDA10E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5149 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5149 + store float 0x3FD1422800000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5149 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5149 + %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !5149 + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5149 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !5149 + store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !5149 + call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5149 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300975EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE726_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.1778.210, align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5152 + store float 0x3FE6E338A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5152 + store float 0x3FCE56D6C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5152 + store float 0x3FEAF38160000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5152 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5152 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5152 + store float 0x3FD14076E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5152 + store float 0x3FE4521080000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5152 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5152 + store float 0x3FC3C0E4C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5152 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5152 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5152 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5152 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5152 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5152 + store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !5152 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !5152 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5152 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IDv16_DF16_vEES7_(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, <16 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { +entry: + store <16 x half> %openclVector, ptr addrspace(4) %this, align 32, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300067EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE66_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !5155 { +entry: + tail call spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef 0) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300259EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE258_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5156 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5156 + store float 0x3FE33FF320000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5156 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5156 + store float 0x3FE1A09060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5156 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5156 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5156 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5156 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5156 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5156 + call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5156 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %t) #1 comdat !srcloc !1175 { +entry: + %t.addr = alloca <4 x half>, align 8 + %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) + store <4 x half> %t, ptr %t.addr, align 8, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t.addr.ascast) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301040EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE775_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !376 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %0 = load i32, ptr %a0, align 4, !tbaa !69 + %1 = load i32, ptr %a1, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5159 + %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !5159 + store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !5159 + %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !5159 + %call3.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_hypotDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300130EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE129_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5162 + store float 0x3FD17C6D60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5162 + store float 0x3FDCAED380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5162 + store float 0x3FD8BB3D00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5162 + store float 0x3FCEEB0F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5162 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5162 + store float 0x3FD73C3860000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5162 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5162 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5162 + call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5162 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 + %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 + %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfES6_EET_T0_(ptr addrspace(1) noundef %call) #13 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3339 + %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5165 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 + %conv = trunc i64 %I to i32 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 + %mul = mul i64 %2, %call + %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5165 + store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 + %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 + %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5165 + %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 + %add = add i64 %5, %call5 + store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { +entry: + %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 + ret ptr %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300256EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE255_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5166 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300850EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 + %ref.tmp5.i = alloca i32, align 4 + %ref.tmp6.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 + store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5169 + store float 0x3FE1ECDF20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5169 + store float 0x3FBCE431A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5169 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !5169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5169 + store float 0x3FDBC0FCC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5169 + store float 0x3FC1AB7080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5169 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5169 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5169 + store i32 -14914, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !5169 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5169 + store i32 30053, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !5169 + call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5169 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5169 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5169 + %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5169 + store i32 %2, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !5169 + %3 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !5169 + store i32 %3, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !5169 + %4 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !5169 + store i64 %4, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !5169 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp9.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5169 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) + %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %5 = load i32, ptr %ref.tmp, align 4, !tbaa !69 + store i32 %5, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %6 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 + store i64 %6, ptr addrspace(4) %call8, align 4, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5172 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300748EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp12.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5173 + store float 0x3FE0A6E5A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5173 + store float 0x3FEA18EDE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5173 + store float 0x3FC540DB40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5173 + store float 0x3FE76AFBC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5173 + store float 0x3FE9BD5A80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5173 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5173 + store float 0x3FE7671080000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5173 + store float 0x3FC8F10180000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5173 + store float 0x3FE0656320000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5173 + store float 0x3FC9D66880000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5173 + store float 0x3FE43D2A20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5173 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5173 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5173 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5173 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5173 + store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !5173 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5173 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !596 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !5176 + %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_cosDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm6EE6_S_refERA6_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(12) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2540 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !4384 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300472EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.2364, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 + %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300472EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300734EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5179 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5179 + store float 0x3FD3315B20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5179 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5179 + store float 0x3FE7F50640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5179 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5179 + store float 0x3FC2452980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5179 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5179 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5179 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5179 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5179 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5179 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5179 + store float 0x3FE8179360000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5179 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5179 + store float 0x3FD7990260000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5179 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5179 + store float 0x3FE4A51320000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5179 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5179 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5179 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5179 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5179 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5179 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5179 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5179 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !5179 + call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5179 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5179 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5179 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { +entry: + %TotalOffset = alloca i64, align 8 + %ref.tmp = alloca %class.anon.3, align 8 + %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 + store i64 0, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4165 + %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300783EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE606_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2156", align 64 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp2.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !5182 + store <16 x i32> , ptr %agg.tmp2.i, align 64, !tbaa.struct !689, !noalias !5182 + call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300688EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300688EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE555_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300908EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300908EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE687_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { +entry: + %arrayidx = getelementptr inbounds [5 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.16.3", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %0 = load i32, ptr %a0, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) + %agg.tmp13.sroa.0.0.copyload = load i32, ptr %agg.tmp1, align 4 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5185 + %call.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !5185 + store i32 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !5185 + %call2.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !5185 + %call3.i = call spir_func noundef <2 x half> @_Z16__spirv_ocl_fmaxDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 + call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300540EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %union.anon, align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %union.anon, align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5188 + call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5188 + store half 0xH37F0, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5188 + %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5188 + store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !5188 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5188 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !5191 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE747_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5192 + call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300203EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300203EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE202_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300409EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300409EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300533EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300533EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE444_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef half @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_(ptr addrspace(4) noundef align 2 dereferenceable(2) %t) #1 comdat !srcloc !971 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %t) #13 + %conv = fptrunc float %call to half + ret half %conv +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301059EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301059EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE794_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300995EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1900.217, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 + %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300995EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !470 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300010EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300010EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE9_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { +entry: + ret ptr addrspace(4) %this +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !5195 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5196 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5196 + %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_asinhDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %union.anon, align 8 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i64, ptr %a1, align 8, !tbaa !128 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5199 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5199 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !5199 + %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !5199 + %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS1i(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !5199 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300861EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 + %ref.tmp9.i = alloca i32, align 4 + %ref.tmp10.i = alloca i32, align 4 + %ref.tmp11.i = alloca i32, align 4 + %ref.tmp12.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp15.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 + %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5202 + store float 0x3FBD276D20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5202 + store float 0x3FD4B0A740000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5202 + store float 0x3FBF22FA20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5202 + store float 0x3FBB5982C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5202 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5202 + store float 0x3FCFED6860000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5202 + store float 0x3FD0669CC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5202 + store float 0x3FE38BD440000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5202 + store float 0x3FE007CA80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5202 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5202 + store i32 21321, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5202 + store i32 -30237, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5202 + store i32 -18367, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5202 + store i32 14035, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !5202 + call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5202 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5202 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5202 + %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !5202 + store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !5202 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !5202 + store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !5202 + %3 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !5202 + store i64 %3, ptr %agg.tmp15.i, align 8, !tbaa !128, !noalias !5202 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp15.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5202 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) + %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 + store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE814_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !5205 + call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE786_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5208 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5208 + store float 0x3FECA25900000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5208 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5208 + store float 0x3FD4ADCA40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5208 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5208 + store float 0x3FE07D7EE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5208 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5208 + store float 0x3FE6D0DEE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5208 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5208 + store float 0x3FDF374500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5208 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5208 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5208 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5208 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5208 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5208 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5208 + call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5208 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300038EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300038EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE37_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5211 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { +entry: + %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 + %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !3621 + ret ptr addrspace(3) %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 + %0 = load i32, ptr %PartialRes, align 4 + store i32 %0, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !5212 +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %this, ptr align 2 %res_t, i64 10, i1 false), !tbaa.struct !190 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr addrspace(4) %this, i64 0, i32 1 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %resArg, ptr align 4 %resArg_t, i64 20, i1 false), !tbaa.struct !191 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300353EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 + store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5213 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5213 + store half 0xH30F2, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5213 + %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5213 + store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !5213 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5213 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 + store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { +entry: + br label %arrayinit.body + +arrayinit.body: ; preds = %arrayinit.body, %entry + %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] + %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx + store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 + %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 + %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 3 + br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body + +arrayinit.end2: ; preds = %arrayinit.body + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300244EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE243_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 63699630306970, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5216 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300258EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300258EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE257_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300136EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300136EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE135_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { +entry: + %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3026 + ret ptr addrspace(3) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300647EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300647EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE514_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300054EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300054EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE53_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { +entry: + %Result = alloca i64, align 8 + %ref.tmp = alloca %class.anon.4, align 8 + %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 + store i64 0, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3116 + %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 + %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + %0 = load i64, ptr %Result, align 8, !tbaa !340 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 + ret i64 %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301031EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301031EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE766_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301059EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE794_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5219 + store float 0x3FEC2F4500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5219 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5219 + store float 0x3FC61694A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5219 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5219 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5219 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5219 + call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5219 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %this, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { +entry: + %0 = load i64, ptr %res_t, align 2, !tbaa !69 + store i64 %0, ptr addrspace(4) %this, align 4, !tbaa !69 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr addrspace(4) %this, i64 0, i32 1 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %resArg, ptr align 4 %resArg_t, i64 16, i1 false), !tbaa.struct !209 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5222 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300110EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300110EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE109_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300331EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE330_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5223 + store half 0xH3AE9, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5223 + call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300296EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE295_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp18.i = alloca float, align 4 + %ref.tmp19.i = alloca float, align 4 + %ref.tmp20.i = alloca float, align 4 + %ref.tmp21.i = alloca float, align 4 + %ref.tmp22.i = alloca float, align 4 + %ref.tmp23.i = alloca float, align 4 + %ref.tmp24.i = alloca float, align 4 + %ref.tmp25.i = alloca float, align 4 + %ref.tmp26.i = alloca float, align 4 + %ref.tmp27.i = alloca float, align 4 + %ref.tmp28.i = alloca float, align 4 + %ref.tmp29.i = alloca float, align 4 + %ref.tmp30.i = alloca float, align 4 + %ref.tmp31.i = alloca float, align 4 + %ref.tmp32.i = alloca float, align 4 + %ref.tmp33.i = alloca float, align 4 + %ref.tmp34.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp35.i = alloca float, align 4 + %ref.tmp36.i = alloca float, align 4 + %ref.tmp37.i = alloca float, align 4 + %ref.tmp38.i = alloca float, align 4 + %ref.tmp39.i = alloca float, align 4 + %ref.tmp40.i = alloca float, align 4 + %ref.tmp41.i = alloca float, align 4 + %ref.tmp42.i = alloca float, align 4 + %ref.tmp43.i = alloca float, align 4 + %ref.tmp44.i = alloca float, align 4 + %ref.tmp45.i = alloca float, align 4 + %ref.tmp46.i = alloca float, align 4 + %ref.tmp47.i = alloca float, align 4 + %ref.tmp48.i = alloca float, align 4 + %ref.tmp49.i = alloca float, align 4 + %ref.tmp50.i = alloca float, align 4 + %ref.tmp51.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) + %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) + %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) + %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) + %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) + %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) + %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) + %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) + %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) + %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) + %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) + %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) + %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) + %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) + %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) + %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) + %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5226 + store float 0x3FEBA978A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5226 + store float 0x3FE877D200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5226 + store float 0x3FE1F5AFA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5226 + store float 0x3FD522C2E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5226 + store float 0x3FD356CAE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5226 + store float 0x3FDB0A6AE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5226 + store float 0x3FBB711E40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5226 + store float 0x3FE37DA4C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5226 + store float 0x3FC21427C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5226 + store float 0x3FE702B7A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5226 + store float 0x3FC3FC1900000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5226 + store float 0x3FBBB339A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5226 + store float 0x3FD4F974C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5226 + store float 0x3FE6FB1D60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5226 + store float 0x3FE883F860000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5226 + store float 0x3FE02FDC00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5226 + store float 0x3FEB386CE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5226 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !5226 + store float 0x3FC886CB80000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !5226 + store float 0x3FD768DDC0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !5226 + store float 0x3FE6272080000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !5226 + store float 0x3FD6F43800000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !5226 + store float 0x3FCBAF5840000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !5226 + store float 0x3FE2018B80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !5226 + store float 0x3FC33523C0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !5226 + store float 0x3FD97F9B20000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !5226 + store float 0x3FD365E880000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !5226 + store float 0x3FD7638800000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !5226 + store float 0x3FDF3DC7C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !5226 + store float 0x3FE0E9FAC0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !5226 + store float 0x3FC5702E20000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !5226 + store float 0x3FD68E1700000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !5226 + store float 0x3FDA0B9700000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !5226 + store float 0x3FDB0C9760000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !5226 + store float 0x3FDEFA51C0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !5226 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_2.i) #13, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !5226 + store float 0x3FDC3463C0000000, ptr %ref.tmp35.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !5226 + store float 0x3FC4616380000000, ptr %ref.tmp36.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !5226 + store float 0x3FD1A121A0000000, ptr %ref.tmp37.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !5226 + store float 0x3FE3B197C0000000, ptr %ref.tmp38.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !5226 + store float 0x3FE86A9680000000, ptr %ref.tmp39.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !5226 + store float 0x3FE04AFA20000000, ptr %ref.tmp40.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !5226 + store float 0x3FCBF98180000000, ptr %ref.tmp41.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !5226 + store float 0x3FC4040CE0000000, ptr %ref.tmp42.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !5226 + store float 0x3FCCC37900000000, ptr %ref.tmp43.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !5226 + store float 0x3FDA102EC0000000, ptr %ref.tmp44.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !5226 + store float 0x3FE1AB5640000000, ptr %ref.tmp45.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !5226 + store float 0x3FE43479E0000000, ptr %ref.tmp46.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !5226 + store float 0x3FE09FA420000000, ptr %ref.tmp47.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !5226 + store float 0x3FE1ABE380000000, ptr %ref.tmp48.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !5226 + store float 0x3FD86F31A0000000, ptr %ref.tmp49.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !5226 + store float 0x3FE43D4180000000, ptr %ref.tmp50.i, align 4, !tbaa !82, !noalias !5226 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !5226 + store float 0x3FE5CEC060000000, ptr %ref.tmp51.i, align 4, !tbaa !82, !noalias !5226 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !5226 + call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_2.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_2.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !5226 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5226 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 5 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !5229 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !927 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5230 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5230 + %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_asinpiDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300453EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300453EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE384_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300452EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300452EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE383_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300590EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1513, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_resultPtrArg4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_resultPtrArg5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_resultPtrArg6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300590EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE465_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { +entry: + %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 + ret ptr addrspace(4) %MemRange +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3459 + ret ptr %0 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { +entry: + %ImmArray = alloca %"struct.std::array.76.8", align 2 + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 + %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 + call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + %1 = load i32, ptr %a1, align 2, !tbaa !69 + store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300878EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300878EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE657_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300456EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1535, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp8, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp9, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 + %3 = load i64, ptr %_arg_globalAccessor4, align 8 + store i64 %3, ptr %agg.tmp11, align 8 + %4 = load i64, ptr %_arg_globalAccessor5, align 8 + store i64 %4, ptr %agg.tmp12, align 8 + %5 = load i64, ptr %_arg_globalAccessor6, align 8 + store i64 %5, ptr %agg.tmp13, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 + call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300456EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 4 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 + %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 + %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 + %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 + call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 + %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 + %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !5233 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300121EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE120_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3631, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5234 + call spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300478EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 + %ref.tmp18.i = alloca i32, align 4 + %ref.tmp19.i = alloca i32, align 4 + %ref.tmp20.i = alloca i32, align 4 + %ref.tmp21.i = alloca i32, align 4 + %ref.tmp22.i = alloca i32, align 4 + %ref.tmp23.i = alloca i32, align 4 + %ref.tmp24.i = alloca i32, align 4 + %ref.tmp25.i = alloca i32, align 4 + %ref.tmp26.i = alloca i32, align 4 + %ref.tmp27.i = alloca i32, align 4 + %ref.tmp28.i = alloca i32, align 4 + %ref.tmp29.i = alloca i32, align 4 + %ref.tmp30.i = alloca i32, align 4 + %ref.tmp31.i = alloca i32, align 4 + %ref.tmp32.i = alloca i32, align 4 + %ref.tmp33.i = alloca i32, align 4 + %ref.tmp34.i = alloca i32, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) + %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) + %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) + %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) + %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) + %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) + %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) + %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) + %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) + %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) + %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) + %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) + %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) + %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) + %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) + %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) + %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5237 + store float 0x3FD1002660000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5237 + store float 0x3FD5A7A860000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5237 + store float 0x3FD15C1AC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5237 + store float 0x3FEB0D3CA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5237 + store float 0x3FD0E5C100000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5237 + store float 0x3FD2742100000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5237 + store float 0x3FE503B280000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5237 + store float 0x3FEC0D2EE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5237 + store float 0x3FE385AE20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5237 + store float 0x3FD5680180000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5237 + store float 0x3FE811A5E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5237 + store float 0x3FCCCF0A80000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5237 + store float 0x3FE3D0AAE0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5237 + store float 0x3FDFB2CE40000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5237 + store float 0x3FE6732460000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5237 + store float 0x3FDF4717E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5237 + store float 0x3FE31B3260000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5237 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !5237 + store i32 -32369, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !5237 + store i32 7555, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !5237 + store i32 25333, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !5237 + store i32 2317, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !5237 + store i32 -6879, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !5237 + store i32 -14370, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !5237 + store i32 11903, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !5237 + store i32 7206, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !5237 + store i32 -14960, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !5237 + store i32 -8524, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !5237 + store i32 9654, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !5237 + store i32 20110, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !5237 + store i32 6009, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !5237 + store i32 13119, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !5237 + store i32 26336, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !5237 + store i32 30382, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !5237 + store i32 21578, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !5237 + call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !5237 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5237 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5237 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5237 + store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !5237 + call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5237 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) + %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN7__spirv14initGlobalSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !5240 { +entry: + tail call spir_func void @_ZN7__spirv21InitSizesSTGlobalSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { +entry: + %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !925 + %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 + %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !5241 + %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 + %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 + %conv = trunc i64 %I to i32 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 + %mul = mul i64 %2, %call2 + %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 + %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !5242 + %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 + %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 + %add = add i64 %mul, %4 + %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !5241 + store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { +entry: + %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm17EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 + tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %0 = load i32, ptr %a0, align 2, !tbaa !69 + store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 + call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300108EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300108EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE107_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300602EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300602EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE469_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300044EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE43_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store half 0xH3A94, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5243 + call spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300002EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE1_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300976EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 + %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 + %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) + call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5246 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5246 + store float 0x3FC30E1BC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5246 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5246 + store float 0x3FBE698380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5246 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5246 + store float 0x3FE277CFC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5246 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5246 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5246 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5246 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5246 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5246 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5246 + store float 0x3FD8ABE240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5246 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5246 + store float 0x3FDF300EE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5246 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5246 + store float 0x3FE9852580000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5246 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5246 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5246 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5246 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5246 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5246 + call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5246 + %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5246 + store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !5246 + call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5246 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5246 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5246 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 + %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 + %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 + call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300604EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300604EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE471_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300278EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE277_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5249 + call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm11EE6_S_refERA11_Kim(ptr addrspace(4) noundef align 4 dereferenceable(44) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 17 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !5252 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 + %0 = load i64, ptr %a0, align 2, !tbaa !69 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 + %1 = load i32, ptr %PartialRes, align 4 + store i32 %1, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5253 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300210EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE209_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !5254 + call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3925 + %1 = addrspacecast ptr %0 to ptr addrspace(4) + ret ptr addrspace(4) %1 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !2273 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) + store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 + %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !5257 + %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_sinhDv16_DF16_(<16 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300151EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300151EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE150_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { +entry: + %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1756 + ret ptr addrspace(1) %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301014EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE749_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300395EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1786.211, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 + %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300395EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300629EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE496_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) + store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !5260 + call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301044EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE779_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 58760277080710, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5263 + call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300620EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE487_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5266 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5266 + store float 0x3FBF2196A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5266 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5266 + store float 0x3FD8F76860000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5266 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5266 + store float 0x3FE8343920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5266 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5266 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5266 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5266 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5266 + call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5266 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm2EE6_S_refERA2_Kim(ptr addrspace(4) noundef align 4 dereferenceable(8) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi3EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { +entry: + %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 + %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 + %splat.splatinsert = insertelement <3 x i32> poison, i32 %call, i64 0 + %extractVec = shufflevector <3 x i32> %splat.splatinsert, <3 x i32> poison, <4 x i32> + store <4 x i32> %extractVec, ptr addrspace(4) %this, align 16, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300674EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300674EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE541_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE787_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5269 + store float 0x3FE55D4720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5269 + store float 0x3FD0C86100000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5269 + store float 0x3FC51A6840000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5269 + store float 0x3FC1F8E740000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5269 + store float 0x3FE18E8580000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5269 + store float 0x3FE2425C60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5269 + store float 0x3FBC9EEB40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5269 + store float 0x3FE524B1C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5269 + store float 0x3FE9D26E60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5269 + store float 0x3FE307CCE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5269 + store float 0x3FE2C38060000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5269 + store float 0x3FEC2F3880000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5269 + store float 0x3FDE9C7780000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5269 + store float 0x3FEA6D6E80000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5269 + store float 0x3FE2B15FA0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5269 + store float 0x3FD1C220C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5269 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5269 + store float 0x3FE89C8A00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5269 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5269 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5269 + call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5269 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %idx.neg = sub i64 0, %call2 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(1) %call, i64 %idx.neg + ret ptr addrspace(1) %add.ptr +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300042EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300042EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE41_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { +entry: + %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 + ret ptr addrspace(1) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 3 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !5272 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300345EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE344_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5273 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5273 + store float 0x3FE5C0B520000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5273 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5273 + store float 0x3FD6660060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5273 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5273 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5273 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5273 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !5273 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5273 + store float 0x3FC8947420000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5273 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5273 + store float 0x3FE71F1680000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5273 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5273 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5273 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5273 + %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5273 + store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5273 + %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !5273 + store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !5273 + call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !5273 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5273 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300299EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300299EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE298_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %class.anon.2, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) + %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) + %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) + %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 + store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 + store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3969 + %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 + store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 + %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 + store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 + %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 + store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 + call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 + %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(1) %1, i64 %call + store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300528EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE439_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5276 + call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300664EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE531_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5279 + store float 0x3FC51B04A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5279 + store float 0x3FE8707FE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5279 + store float 0x3FD3ED9200000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5279 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5279 + store float 0x3FD10DCFA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5279 + store float 0x3FE4AE3040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5279 + store float 0x3FDC79F820000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5279 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_2.i) #13, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5279 + store float 0x3FE66998A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5279 + store float 0x3FC6384300000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5279 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5279 + store float 0x3FE33C3BC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5279 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5279 + call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_2.i) #14 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_2.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !5279 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5279 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300418EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.1945, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !805 + %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 + %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 + %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 + %0 = load i64, ptr %_arg_localAccessor1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_localAccessor2, align 8 + store i64 %1, ptr %agg.tmp11, align 8 + %2 = load i64, ptr %_arg_localAccessor3, align 8 + store i64 %2, ptr %agg.tmp12, align 8 + call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 + %3 = load i64, ptr %_arg_resultPtr4, align 8 + store i64 %3, ptr %agg.tmp14, align 8 + %4 = load i64, ptr %_arg_resultPtr5, align 8 + store i64 %4, ptr %agg.tmp15, align 8 + %5 = load i64, ptr %_arg_resultPtr6, align 8 + store i64 %5, ptr %agg.tmp16, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 + %6 = load i64, ptr %_arg_resultPtrArg7, align 8 + store i64 %6, ptr %agg.tmp18, align 8 + %7 = load i64, ptr %_arg_resultPtrArg8, align 8 + store i64 %7, ptr %agg.tmp19, align 8 + %8 = load i64, ptr %_arg_resultPtrArg9, align 8 + store i64 %8, ptr %agg.tmp20, align 8 + call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 + %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 + call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 + call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300418EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 + call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) + store i64 0, ptr %agg.tmp, align 8 + call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 + call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { +entry: + %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 + %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i64 %I.0, 8 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 + %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 + call spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + ret void + +for.body: ; preds = %for.cond + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 + %mul = shl nuw nsw i64 %I.0, 1 + call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 + call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 + %2 = load i32, ptr %PartialRes, align 4 + store i32 %2, ptr addrspace(4) %call, align 2 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 + %inc = add nuw nsw i64 %I.0, 1 + br label %for.cond, !llvm.loop !5282 +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { +entry: + %agg.tmp = alloca %class.anon, align 1 + tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300216EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300216EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE215_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301030EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE765_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !488 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5283 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !5283 + %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_expm1Dv3_DF16_(<3 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { +entry: + %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp2 = alloca %union.anon, align 8 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) + %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) + tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] + %cmp = icmp ult i32 %I.0, 2 + br i1 %cmp, label %for.body, label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond + ret void + +for.body: ; preds = %for.cond + %conv = zext i32 %I.0 to i64 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 + %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 + store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 + %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 + %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) + %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 + call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 + %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 + %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 + store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 + %inc = add nuw nsw i32 %I.0, 1 + br label %for.cond, !llvm.loop !5286 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300853EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE648_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 + %ref.tmp7.i = alloca i32, align 4 + %ref.tmp8.i = alloca i32, align 4 + %ref.tmp9.i = alloca i32, align 4 + %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 + %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 + %result = alloca %struct.privatePtrCheck.2260.232, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %result.ascast = addrspacecast ptr %result to ptr addrspace(4) + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) + %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5287 + store float 0x3FC8E85780000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5287 + store float 0x3FDCC63B00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5287 + store float 0x3FE3C57720000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5287 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5287 + store float 0x3FDDF4FFC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5287 + store float 0x3FE10679A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5287 + store float 0x3FE941FE40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5287 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5287 + store i32 571, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5287 + store i32 -30360, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5287 + store i32 7023, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !5287 + call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5287 + call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5287 + call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5287 + %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !5287 + store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !5287 + call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !5287 + call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5287 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) + %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 + %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 + %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 + %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 + call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { +entry: + %ref.tmp = alloca %class.anon, align 1 + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 + %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 + call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { +entry: + %idxprom = sext i32 %i to i64 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom + ret ptr addrspace(4) %arrayidx +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !5290 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5291 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5291 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_log2DF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %AccessRange, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %range, align 8 + store i64 %1, ptr %agg.tmp2, align 8 + %2 = load i64, ptr %id, align 8 + store i64 %2, ptr %agg.tmp3, align 8 + tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { +entry: + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %0 = load i64, ptr %Index, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 + %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(1) %call2, i64 %call + %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) + ret ptr addrspace(4) %arrayidx.ascast +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef <3 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !971 { +entry: + %call = tail call spir_func noundef <3 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEcvDv3_DF16_Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 + ret <3 x half> %call +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE4sizeEv() #1 comdat align 2 !srcloc !458 { +entry: + ret i64 17 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !983 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + %1 = load i64, ptr %a1, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5294 + %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !5294 + store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !5294 + %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !5294 + %call7.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_atan2Dv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300301EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE300_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) + store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !5297 + store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !5297 + call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301075EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301075EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE810_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300879EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300879EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE658_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300910EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300910EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE689_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !548 { +entry: + %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 + %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) + store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 + %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !5300 + %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_rintDv8_DF16_(<8 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300207EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300207EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE206_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !5303 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5304 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5304 + %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_logbDF16_(half noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301066EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE801_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 62557142857763, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5307 + call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !5310 !sycl_used_aspects !63 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 + %0 = load i16, ptr %a0, align 2, !tbaa !99 + %1 = load i16, ptr %a1, align 2, !tbaa !99 + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) + store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5311 + %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5311 + store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !5311 + %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !5311 + %call3.i = tail call spir_func noundef half @_Z15__spirv_ocl_powDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { +entry: + %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !2817 + ret ptr %0 +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !774 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5314 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5314 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_acosDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !659 { +entry: + %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 + %0 = load i64, ptr %a0, align 8, !tbaa !69 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5317 + %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5317 + %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_sqrtDv4_DF16_(<4 x half> noundef %call.i) #15 + tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + ret void +} + +; Function Attrs: mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { +entry: + %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm13EE6_S_refERA13_Kim(ptr addrspace(4) noundef align 4 dereferenceable(52) %this, i64 noundef %__n) #13 + ret ptr addrspace(4) %call +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300263EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE262_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { +entry: + %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 + %ref.tmp.i = alloca float, align 4 + %ref.tmp2.i = alloca float, align 4 + %ref.tmp3.i = alloca float, align 4 + %ref.tmp4.i = alloca float, align 4 + %ref.tmp5.i = alloca float, align 4 + %ref.tmp6.i = alloca float, align 4 + %ref.tmp7.i = alloca float, align 4 + %ref.tmp8.i = alloca float, align 4 + %ref.tmp9.i = alloca float, align 4 + %ref.tmp10.i = alloca float, align 4 + %ref.tmp11.i = alloca float, align 4 + %ref.tmp12.i = alloca float, align 4 + %ref.tmp13.i = alloca float, align 4 + %ref.tmp14.i = alloca float, align 4 + %ref.tmp15.i = alloca float, align 4 + %ref.tmp16.i = alloca float, align 4 + %ref.tmp17.i = alloca float, align 4 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 + %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) + %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) + call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 + %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 + %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) + %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) + %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) + %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) + %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) + %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) + %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) + %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) + %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) + %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) + %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) + %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) + %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) + %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) + %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) + %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) + %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) + %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5320 + store float 0x3FDC677D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5320 + store float 0x3FC00E2AC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5320 + store float 0x3FD4537B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5320 + store float 0x3FDA1374C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5320 + store float 0x3FD800EE80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5320 + store float 0x3FD9891860000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5320 + store float 0x3FE7C243E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5320 + store float 0x3FD01AC940000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5320 + store float 0x3FE84E9D40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5320 + store float 0x3FE112BBE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5320 + store float 0x3FD7BE6680000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5320 + store float 0x3FE1565520000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5320 + store float 0x3FCD546A80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5320 + store float 0x3FDFC46CA0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5320 + store float 0x3FBE1895C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5320 + store float 0x3FE94ACB20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5320 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5320 + store float 0x3FD7607FC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5320 + call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5320 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5320 + call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5320 + call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 + call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301053EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4301053EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE788_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind +define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300234EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { +entry: + call void @__itt_offload_wi_start_wrapper() + %__SYCLKernel = alloca %class.anon.0, align 8 + %agg.tmp = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 + %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 + %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 + %0 = load i64, ptr %_arg_resultPtr1, align 8 + store i64 %0, ptr %agg.tmp, align 8 + %1 = load i64, ptr %_arg_resultPtr2, align 8 + store i64 %1, ptr %agg.tmp5, align 8 + %2 = load i64, ptr %_arg_resultPtr3, align 8 + store i64 %2, ptr %agg.tmp6, align 8 + call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 + call spir_func void @_ZZZ14check_functionILi4300234EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE233_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 + call void @__itt_offload_wi_finish_wrapper() + ret void +} + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) +declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #6 + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) +declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #6 + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7 + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg) #7 + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p0.p4.i64(ptr noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg) #7 + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7 + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p0.p1.i64(ptr noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg) #7 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_sqrtDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_acosDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_powDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_logbDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_rintDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_atan2Dv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_log2DF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef, i32 noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_expm1Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_sinhDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_asinpiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS1i(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_asinhDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fmaxDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_cosDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_hypotDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_rsqrtDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_roundDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z18__spirv_ocl_acospiDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_atan2DF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_coshDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS1i(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fdimDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS0i(half noundef, half noundef, ptr noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_sinpiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) +declare void @llvm.memset.p4.i64(ptr addrspace(4) nocapture writeonly, i8, i64, i1 immarg) #10 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_ceilDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS3DF16_(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_asinpiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_asinhDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS0i(half noundef, ptr noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_tgammaDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_logDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z21__spirv_ocl_nextafterDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_rootnDF16_i(half noundef, i32 noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_sinDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_log2Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_atanhDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_log2Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_sqrtDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_coshDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_coshDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_rsqrtDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_log10Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_atanhDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_sqrtDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_sinDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_minmagDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fmodDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_expm1Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_tanhDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fdimDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_acoshDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_cospiDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_asinDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fmodDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_logbDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef ptr addrspace(1) @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPvi(ptr addrspace(4) noundef, i32 noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_atan2Dv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_asinDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_acoshDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS0i(half noundef, ptr noundef) local_unnamed_addr #9 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS3DF16_(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_acosDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_roundDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_sqrtDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_erfcDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_cospiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS0DF16_(half noundef, ptr noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_exp10Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_tanDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_logDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z20__spirv_ocl_copysignDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fdimDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_lgammaDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_atanDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_exp2Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS3i(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS3DF16_(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_tgammaDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_ceilDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_sinpiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_rintDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z21__spirv_ocl_remainderDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_log1pDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_asinpiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_erfDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: mustprogress noinline norecurse nounwind +define internal spir_func noundef i64 @_ZN7__spirvL15getGlobalOffsetILi0EEEmv() unnamed_addr #1 !srcloc !5323 !sycl_kernel_omit_args !64 { +entry: + %call = tail call spir_func noundef i64 @_Z22__spirv_GlobalOffset_xv() #13 + ret i64 %call +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fminDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fmaxDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_acosDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_truncDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_sinDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z21__spirv_ocl_remainderDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_sinpiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z20__spirv_ocl_copysignDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_tanDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_tanhDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_rsqrtDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z21__spirv_ocl_nextafterDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z19__spirv_ocl_atan2piDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_rootnDv4_DF16_Dv4_i(<4 x half> noundef, <4 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_cosDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_fmaDv4_DF16_S_S_(<4 x half> noundef, <4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_coshDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_logbDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z21__spirv_ocl_nextafterDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_tanpiDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_hypotDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fmodDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z19__spirv_ocl_atan2piDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_hypotDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_roundDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_sinpiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_asinDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_minmagDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_expDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_logbDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_logDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef ptr addrspace(3) @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPvi(ptr addrspace(4) noundef, i32 noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS1DF16_(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_ldexpDv16_DF16_Dv16_i(<16 x half> noundef, <16 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_log2Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fmaxDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_fabsDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_logbDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_truncDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_atanhDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_atanDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_sqrtDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_erfDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_cbrtDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_exp2Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS3i(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_log2Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_log1pDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_roundDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: mustprogress noinline norecurse nounwind +define internal spir_func noundef i64 @_ZN7__spirvL13getGlobalSizeILi0EEEmv() unnamed_addr #1 !srcloc !5324 !sycl_kernel_omit_args !64 { +entry: + %call = tail call spir_func noundef i64 @_Z20__spirv_GlobalSize_xv() #13 + ret i64 %call +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_log10Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_tanpiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_acoshDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_powrDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z18__spirv_ocl_maxmagDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_sinhDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_exp10Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_ldexpDv2_DF16_Dv2_i(<2 x half> noundef, <2 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_asinhDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_atan2Dv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_fmaDv2_DF16_S_S_(<2 x half> noundef, <2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_tgammaDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS1DF16_(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_powrDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_atanhDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS3i(half noundef, half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_cospiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_floorDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fminDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_sinpiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_ldexpDv4_DF16_Dv4_i(<4 x half> noundef, <4 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_tanpiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_maxmagDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_exp10Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_asinhDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_sinhDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_rootnDv2_DF16_Dv2_i(<2 x half> noundef, <2 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_atan2Dv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z18__spirv_ocl_atanpiDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_sinhDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_sinhDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_acoshDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_floorDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_acospiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_rsqrtDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_acospiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_madDv3_DF16_S_S_(<3 x half> noundef, <3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_cosDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z18__spirv_ocl_asinpiDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_tanDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_minmagDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS0DF16_(half noundef, ptr noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_minmagDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_acoshDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_expDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_log2Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_erfDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_expm1Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_atanpiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_fmaxDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_atanpiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_fmodDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_tgammaDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fminDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_cospiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_log10DF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS1i(half noundef, half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_asinDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_powDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_tanpiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z20__spirv_ocl_copysignDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_sinDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_rootnDv8_DF16_Dv8_i(<8 x half> noundef, <8 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_maxmagDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fminDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_log1pDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_truncDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_powDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_cbrtDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_acospiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_madDF16_DF16_DF16_(half noundef, half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_log1pDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_pownDv2_DF16_Dv2_i(<2 x half> noundef, <2 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z18__spirv_ocl_tgammaDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_exp2Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_atanDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_cbrtDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS1DF16_(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_powrDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: mustprogress noinline norecurse nounwind +define internal spir_func noundef i64 @_ZN7__spirvL16getNumWorkgroupsILi0EEEmv() unnamed_addr #1 !srcloc !5325 !sycl_kernel_omit_args !64 { +entry: + %call = tail call spir_func noundef i64 @_Z23__spirv_NumWorkgroups_xv() #13 + ret i64 %call +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef, half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_tanDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_atanhDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_floorDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_sinpiDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_hypotDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_cbrtDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_madDv2_DF16_S_S_(<2 x half> noundef, <2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_ldexpDF16_i(half noundef, i32 noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_expDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_atanpiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_atanDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: mustprogress noinline norecurse nounwind +define internal spir_func noundef i64 @_ZN7__spirvL14getWorkgroupIdILi0EEEmv() unnamed_addr #1 !srcloc !5326 !sycl_kernel_omit_args !64 { +entry: + %call = tail call spir_func noundef i64 @_Z21__spirv_WorkgroupId_xv() #13 + ret i64 %call +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z19__spirv_ocl_atan2piDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_rintDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_expDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z20__spirv_ocl_copysignDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_asinDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_powrDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_hypotDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent nounwind +declare dso_local spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS0DF16_(half noundef, ptr noundef) local_unnamed_addr #9 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_powrDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_log10Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_fdimDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_cbrtDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_cospiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: mustprogress noinline norecurse nounwind +define internal spir_func noundef i64 @_ZN7__spirvL21getGlobalInvocationIdILi0EEEmv() unnamed_addr #1 !srcloc !5327 !sycl_kernel_omit_args !64 { +entry: + %call = tail call spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_xv() #13 + ret i64 %call +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z19__spirv_ocl_atan2piDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_logDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fmodDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_exp2Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_erfcDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_truncDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_rintDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_powDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_rsqrtDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z20__spirv_ocl_copysignDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_erfDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_pownDv8_DF16_Dv8_i(<8 x half> noundef, <8 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_sinhDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z21__spirv_ocl_remainderDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_truncDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_exp10Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_rootnDv16_DF16_Dv16_i(<16 x half> noundef, <16 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fmaxDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_ceilDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_erfcDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_log10Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_lgammaDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_expDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_roundDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_asinhDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_coshDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: mustprogress noinline norecurse nounwind +define internal spir_func noundef i64 @_ZN7__spirvL20getLocalInvocationIdILi0EEEmv() unnamed_addr #1 !srcloc !5328 !sycl_kernel_omit_args !64 { +entry: + %call = tail call spir_func noundef i64 @_Z27__spirv_LocalInvocationId_xv() #13 + ret i64 %call +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_pownDF16_i(half noundef, i32 noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_atanDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_ceilDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_cbrtDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fabsDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z21__spirv_ocl_nextafterDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_acosDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_madDv8_DF16_S_S_(<8 x half> noundef, <8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_erfcDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_floorDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_acosDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_cosDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_fmaDv16_DF16_S_S_(<16 x half> noundef, <16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_rsqrtDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_sinDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_rintDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_ldexpDv8_DF16_Dv8_i(<8 x half> noundef, <8 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_floorDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fminDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_erfDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_maxmagDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_log10Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_cospiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_exp10Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_expm1Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_tanhDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_pownDv3_DF16_Dv3_i(<3 x half> noundef, <3 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_tanhDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_ldexpDv3_DF16_Dv3_i(<3 x half> noundef, <3 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_exp2DF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fabsDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_tanhDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_fmaDv3_DF16_S_S_(<3 x half> noundef, <3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_acospiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fabsDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_expm1DF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fabsDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z19__spirv_ocl_atan2piDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z20__spirv_ocl_copysignDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_coshDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x i32> @_Z17__spirv_ocl_ilogbDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_maxmagDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_atanpiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_fmaDv8_DF16_S_S_(<8 x half> noundef, <8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_ceilDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_asinDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z21__spirv_ocl_nextafterDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_acospiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_powDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_tanDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_lgammaDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z21__spirv_ocl_remainderDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z21__spirv_ocl_nextafterDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_asinpiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_exp2Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_acoshDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_rootnDv3_DF16_Dv3_i(<3 x half> noundef, <3 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z19__spirv_ocl_atan2piDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_sinDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_minmagDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fmaxDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_erfcDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_madDv4_DF16_S_S_(<4 x half> noundef, <4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_lgammaDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_log1pDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fdimDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_erfcDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_atanpiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_atan2Dv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fabsDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_asinpiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_lgammaDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_madDv16_DF16_S_S_(<16 x half> noundef, <16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_cosDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_tanhDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef i32 @_Z17__spirv_ocl_ilogbDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_truncDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_expDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_acosDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z18__spirv_ocl_lgammaDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_atanDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_pownDv16_DF16_Dv16_i(<16 x half> noundef, <16 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fdimDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_tgammaDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_sqrtDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_asinhDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_pownDv4_DF16_Dv4_i(<4 x half> noundef, <4 x i32> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_floorDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_powrDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_tanpiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_cosDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_tanDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_rintDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z18__spirv_ocl_minmagDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_expm1Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z15__spirv_ocl_logDF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fmodDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z16__spirv_ocl_fminDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_hypotDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_tanpiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_atanhDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_logbDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <16 x half> @_Z21__spirv_ocl_remainderDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_maxmagDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_ceilDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: mustprogress noinline norecurse nounwind +define internal spir_func noundef i64 @_ZN7__spirvL16getWorkgroupSizeILi0EEEmv() unnamed_addr #1 !srcloc !5329 !sycl_kernel_omit_args !64 { +entry: + %call = tail call spir_func noundef i64 @_Z23__spirv_WorkgroupSize_xv() #13 + ret i64 %call +} + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef half @_Z17__spirv_ocl_exp10DF16_(half noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_erfDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_logDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_roundDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z21__spirv_ocl_remainderDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_log1pDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) +declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_powDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__itt_offload_wi_start_wrapper() #11 !srcloc !5330 { +entry: + %GroupID = alloca [3 x i64], align 8 + %call.i = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #14 + %cmp.i.not = icmp eq i8 %call.i, 0 + br i1 %cmp.i.not, label %return, label %if.end + +if.end: ; preds = %entry + %GroupID.ascast = addrspacecast ptr %GroupID to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %GroupID) #13 + %0 = load <3 x i64>, ptr addrspace(1) @__spirv_BuiltInWorkgroupId, align 32 + %1 = extractelement <3 x i64> %0, i64 0 + store i64 %1, ptr %GroupID, align 8, !tbaa !340 + %arrayinit.element = getelementptr inbounds i64, ptr %GroupID, i64 1 + %2 = extractelement <3 x i64> %0, i64 1 + store i64 %2, ptr %arrayinit.element, align 8, !tbaa !340 + %arrayinit.element1 = getelementptr inbounds i64, ptr %GroupID, i64 2 + %3 = extractelement <3 x i64> %0, i64 2 + store i64 %3, ptr %arrayinit.element1, align 8, !tbaa !340 + %4 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalLinearId, align 8, !tbaa !340 + %5 = load i64, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, align 32 + %6 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, i64 8), align 8 + %mul = mul i64 %5, %6 + %7 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, i64 16), align 16 + %mul2 = mul i64 %mul, %7 + %conv = trunc i64 %mul2 to i32 + call spir_func void @__itt_offload_wi_start_stub(ptr addrspace(4) noundef %GroupID.ascast, i64 noundef %4, i32 noundef %conv) #14 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %GroupID) #13 + br label %return + +return: ; preds = %if.end, %entry + ret void +} + +; Function Attrs: convergent nounwind +declare extern_weak dso_local spir_func signext i8 @__spirv_SpecConstant(i32 noundef, i8 noundef signext) local_unnamed_addr #9 + +; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind +define weak dso_local spir_func void @__itt_offload_wi_finish_wrapper() #11 !srcloc !5331 { +entry: + %GroupID = alloca [3 x i64], align 8 + %call.i = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #14 + %cmp.i.not = icmp eq i8 %call.i, 0 + br i1 %cmp.i.not, label %return, label %if.end + +if.end: ; preds = %entry + %GroupID.ascast = addrspacecast ptr %GroupID to ptr addrspace(4) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %GroupID) #13 + %0 = load <3 x i64>, ptr addrspace(1) @__spirv_BuiltInWorkgroupId, align 32 + %1 = extractelement <3 x i64> %0, i64 0 + store i64 %1, ptr %GroupID, align 8, !tbaa !340 + %arrayinit.element = getelementptr inbounds i64, ptr %GroupID, i64 1 + %2 = extractelement <3 x i64> %0, i64 1 + store i64 %2, ptr %arrayinit.element, align 8, !tbaa !340 + %arrayinit.element1 = getelementptr inbounds i64, ptr %GroupID, i64 2 + %3 = extractelement <3 x i64> %0, i64 2 + store i64 %3, ptr %arrayinit.element1, align 8, !tbaa !340 + %4 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalLinearId, align 8, !tbaa !340 + call spir_func void @__itt_offload_wi_finish_stub(ptr addrspace(4) noundef %GroupID.ascast, i64 noundef %4) #14 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %GroupID) #13 + br label %return + +return: ; preds = %if.end, %entry + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define weak dso_local spir_func void @__itt_offload_wi_start_stub(ptr addrspace(4) noundef %group_id, i64 noundef %wi_id, i32 noundef %wg_size) local_unnamed_addr #12 !srcloc !5332 { +entry: + %group_id.addr = alloca ptr addrspace(4), align 8 + %wi_id.addr = alloca i64, align 8 + %wg_size.addr = alloca i32, align 4 + %group_id.addr.ascast = addrspacecast ptr %group_id.addr to ptr addrspace(4) + %wi_id.addr.ascast = addrspacecast ptr %wi_id.addr to ptr addrspace(4) + %wg_size.addr.ascast = addrspacecast ptr %wg_size.addr to ptr addrspace(4) + store ptr addrspace(4) %group_id, ptr addrspace(4) %group_id.addr.ascast, align 8, !tbaa !128 + store i64 %wi_id, ptr addrspace(4) %wi_id.addr.ascast, align 8, !tbaa !340 + store i32 %wg_size, ptr addrspace(4) %wg_size.addr.ascast, align 4, !tbaa !126 + ret void +} + +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define weak dso_local spir_func void @__itt_offload_wi_finish_stub(ptr addrspace(4) noundef %group_id, i64 noundef %wi_id) local_unnamed_addr #12 !srcloc !5333 { +entry: + %group_id.addr = alloca ptr addrspace(4), align 8 + %wi_id.addr = alloca i64, align 8 + %group_id.addr.ascast = addrspacecast ptr %group_id.addr to ptr addrspace(4) + %wi_id.addr.ascast = addrspacecast ptr %wi_id.addr to ptr addrspace(4) + store ptr addrspace(4) %group_id, ptr addrspace(4) %group_id.addr.ascast, align 8, !tbaa !128 + store i64 %wi_id, ptr addrspace(4) %wi_id.addr.ascast, align 8, !tbaa !340 + ret void +} + +attributes #0 = { convergent mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="tests/math_builtin_api/math_builtin_float_half.cpp" "sycl-optlevel"="3" "sycl-single-task" "uniform-work-group-size"="true" } +attributes #1 = { mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="3" } +attributes #2 = { convergent mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="3" } +attributes #3 = { convergent mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="tests/math_builtin_api/math_builtin_float_half.cpp" "sycl-optlevel"="3" "uniform-work-group-size"="true" } +attributes #4 = { noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="3" } +attributes #5 = { mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="tests/math_builtin_api/math_builtin_float_base.cpp" "sycl-optlevel"="3" } +attributes #6 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } +attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } +attributes #8 = { convergent mustprogress nofree nounwind willreturn memory(none) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } +attributes #9 = { convergent nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } +attributes #10 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #11 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb1495701_00/runDir/jenkins-dir/workspace/Tools_SH/SYCLOS_Nightly/RHEL/llvm.src/libdevice/itt_compiler_wrappers.cpp" "sycl-optlevel"="2" } +attributes #12 = { convergent mustprogress noinline norecurse nounwind optnone "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb1495701_00/runDir/jenkins-dir/workspace/Tools_SH/SYCLOS_Nightly/RHEL/llvm.src/libdevice/itt_stubs.cpp" "sycl-optlevel"="2" } +attributes #13 = { nounwind } +attributes #14 = { convergent nounwind } +attributes #15 = { convergent nounwind willreturn memory(none) } + +!opencl.spir.version = !{!0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0} +!spirv.Source = !{!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1} +!sycl_aspects = !{!2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55} +!llvm.ident = !{!56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56} +!sycl_types_that_use_aspects = !{!57, !57, !57} +!llvm.module.flags = !{!58, !59} +!sycl.specialization-constants = !{} +!sycl.specialization-constants-default-values = !{} + +!0 = !{i32 1, i32 2} +!1 = !{i32 4, i32 100000} +!2 = !{!"cpu", i32 1} +!3 = !{!"gpu", i32 2} +!4 = !{!"accelerator", i32 3} +!5 = !{!"custom", i32 4} +!6 = !{!"fp16", i32 5} +!7 = !{!"fp64", i32 6} +!8 = !{!"image", i32 9} +!9 = !{!"online_compiler", i32 10} +!10 = !{!"online_linker", i32 11} +!11 = !{!"queue_profiling", i32 12} +!12 = !{!"usm_device_allocations", i32 13} +!13 = !{!"usm_host_allocations", i32 14} +!14 = !{!"usm_shared_allocations", i32 15} +!15 = !{!"usm_system_allocations", i32 17} +!16 = !{!"ext_intel_pci_address", i32 18} +!17 = !{!"ext_intel_gpu_eu_count", i32 19} +!18 = !{!"ext_intel_gpu_eu_simd_width", i32 20} +!19 = !{!"ext_intel_gpu_slices", i32 21} +!20 = !{!"ext_intel_gpu_subslices_per_slice", i32 22} +!21 = !{!"ext_intel_gpu_eu_count_per_subslice", i32 23} +!22 = !{!"ext_intel_max_mem_bandwidth", i32 24} +!23 = !{!"ext_intel_mem_channel", i32 25} +!24 = !{!"usm_atomic_host_allocations", i32 26} +!25 = !{!"usm_atomic_shared_allocations", i32 27} +!26 = !{!"atomic64", i32 28} +!27 = !{!"ext_intel_device_info_uuid", i32 29} +!28 = !{!"ext_oneapi_srgb", i32 30} +!29 = !{!"ext_oneapi_native_assert", i32 31} +!30 = !{!"host_debuggable", i32 32} +!31 = !{!"ext_intel_gpu_hw_threads_per_eu", i32 33} +!32 = !{!"ext_oneapi_cuda_async_barrier", i32 34} +!33 = !{!"ext_oneapi_bfloat16_math_functions", i32 35} +!34 = !{!"ext_intel_free_memory", i32 36} +!35 = !{!"ext_intel_device_id", i32 37} +!36 = !{!"ext_intel_memory_clock_rate", i32 38} +!37 = !{!"ext_intel_memory_bus_width", i32 39} +!38 = !{!"emulated", i32 40} +!39 = !{!"ext_intel_legacy_image", i32 41} +!40 = !{!"ext_oneapi_bindless_images", i32 42} +!41 = !{!"ext_oneapi_bindless_images_shared_usm", i32 43} +!42 = !{!"ext_oneapi_bindless_images_1d_usm", i32 44} +!43 = !{!"ext_oneapi_bindless_images_2d_usm", i32 45} +!44 = !{!"ext_oneapi_interop_memory_import", i32 46} +!45 = !{!"ext_oneapi_interop_memory_export", i32 47} +!46 = !{!"ext_oneapi_interop_semaphore_import", i32 48} +!47 = !{!"ext_oneapi_interop_semaphore_export", i32 49} +!48 = !{!"ext_oneapi_mipmap", i32 50} +!49 = !{!"ext_oneapi_mipmap_anisotropy", i32 51} +!50 = !{!"ext_oneapi_mipmap_level_reference", i32 52} +!51 = !{!"int64_base_atomics", i32 7} +!52 = !{!"int64_extended_atomics", i32 8} +!53 = !{!"usm_system_allocator", i32 17} +!54 = !{!"usm_restricted_shared_allocations", i32 16} +!55 = !{!"host", i32 0} +!56 = !{!"clang version 17.0.0 (/netbatch/donb1495701_00/runDir/jenkins-dir/workspace/Tools_SH/SYCLOS_Nightly/RHEL/llvm.src/clang 8ef4090bb0c0256d0057a7acf997d7559d1418a0)"} +!57 = !{!"class.sycl::_V1::detail::half_impl::half", i32 5} +!58 = !{i32 1, !"wchar_size", i32 4} +!59 = !{i32 7, !"frame-pointer", i32 2} +!60 = !{i32 13080170} +!61 = !{i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1} +!62 = !{i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 false, i1 false} +!63 = !{i32 5} +!64 = !{} +!65 = !{i1 false, i1 false, i1 false, i1 false, i1 true, i1 false, i1 false, i1 false, i1 false} +!66 = !{i32 1268497} +!67 = !{i32 13076802} +!68 = !{i64 0, i64 32, !69} +!69 = !{!70, !70, i64 0} +!70 = !{!"omnipotent char", !71, i64 0} +!71 = !{!"Simple C++ TBAA"} +!72 = !{!73} +!73 = distinct !{!73, !74, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE257_clEv: %agg.result"} +!74 = distinct !{!74, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE257_clEv"} +!75 = !{i32 13078231} +!76 = !{i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false} +!77 = !{i32 10509877} +!78 = !{i32 5037680} +!79 = !{!80} +!80 = distinct !{!80, !81, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE399_clEv: %agg.result"} +!81 = distinct !{!81, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE399_clEv"} +!82 = !{!83, !83, i64 0} +!83 = !{!"float", !70, i64 0} +!84 = !{i32 8339279} +!85 = !{i32 13081650} +!86 = !{i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1} +!87 = !{i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 false, i1 false} +!88 = !{i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true} +!89 = !{i32 1192265} +!90 = !{i64 0, i64 4, !69} +!91 = !{!92} +!92 = distinct !{!92, !93, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE275_clEv: %agg.result"} +!93 = distinct !{!93, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE275_clEv"} +!94 = !{i32 10493929} +!95 = !{i32 -1, i32 -1, i32 -1, i32 -1} +!96 = !{i1 true, i1 false, i1 false, i1 false} +!97 = !{i1 false, i1 false, i1 false, i1 false, i1 true} +!98 = !{i32 9647552} +!99 = !{!100, !100, i64 0} +!100 = !{!"_Float16", !70, i64 0} +!101 = !{i32 10509422} +!102 = distinct !{!102, !103} +!103 = !{!"llvm.loop.mustprogress"} +!104 = distinct !{!104, !103} +!105 = !{i32 325735} +!106 = !{!107} +!107 = distinct !{!107, !108, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE520_clEv: %agg.result"} +!108 = distinct !{!108, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE520_clEv"} +!109 = !{i32 7577050} +!110 = !{i32 10520115} +!111 = !{i32 10518355} +!112 = distinct !{!112, !103} +!113 = !{i32 5940823} +!114 = !{i32 1321683} +!115 = !{i32 7750950} +!116 = !{!117} +!117 = distinct !{!117, !118, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE176_clEv: %agg.result"} +!118 = distinct !{!118, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE176_clEv"} +!119 = !{i64 0, i64 2, !99} +!120 = !{!121} +!121 = distinct !{!121, !122, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE317_clEv: %agg.result"} +!122 = distinct !{!122, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE317_clEv"} +!123 = !{!124} +!124 = distinct !{!124, !125, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE3_clESA_: %agg.result"} +!125 = distinct !{!125, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE3_clESA_"} +!126 = !{!127, !127, i64 0} +!127 = !{!"int", !70, i64 0} +!128 = !{!129, !129, i64 0} +!129 = !{!"any pointer", !70, i64 0} +!130 = !{i32 6748631} +!131 = !{!132, !129, i64 0} +!132 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} +!133 = !{i32 10504624} +!134 = distinct !{!134, !103} +!135 = !{!136} +!136 = distinct !{!136, !137, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESG_: %agg.result"} +!137 = distinct !{!137, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESG_"} +!138 = !{!139} +!139 = distinct !{!139, !140, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE610_clEv: %agg.result"} +!140 = distinct !{!140, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE610_clEv"} +!141 = !{i32 1361567} +!142 = !{i32 8331496} +!143 = !{i32 10505829} +!144 = distinct !{!144, !103} +!145 = !{i32 12918941} +!146 = distinct !{!146, !103} +!147 = !{!148} +!148 = distinct !{!148, !149, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE586_clEv: %agg.result"} +!149 = distinct !{!149, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE586_clEv"} +!150 = !{i32 10492919} +!151 = distinct !{!151, !103} +!152 = !{!153} +!153 = distinct !{!153, !154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE173_clEv: %agg.result"} +!154 = distinct !{!154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE173_clEv"} +!155 = !{i32 7650405} +!156 = !{i32 10496367} +!157 = distinct !{!157, !103} +!158 = !{!159} +!159 = distinct !{!159, !160, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESJ_: %agg.result"} +!160 = distinct !{!160, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESJ_"} +!161 = !{i32 10520570} +!162 = !{i32 1293617} +!163 = !{i32 10497778} +!164 = !{i32 7749969} +!165 = !{i32 10491554} +!166 = distinct !{!166, !103} +!167 = distinct !{!167, !103} +!168 = !{i32 10862736} +!169 = !{!170} +!170 = distinct !{!170, !171, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!171 = distinct !{!171, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!172 = !{i32 282921} +!173 = !{!174, !129, i64 0} +!174 = !{!"_ZTSZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!175 = !{!176} +!176 = distinct !{!176, !177, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE283_clEv: %agg.result"} +!177 = distinct !{!177, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE283_clEv"} +!178 = !{!179} +!179 = distinct !{!179, !180, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE136_clEv: %agg.result"} +!180 = distinct !{!180, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE136_clEv"} +!181 = !{i32 282425} +!182 = !{i32 6841455} +!183 = !{i32 10876294} +!184 = !{!185} +!185 = distinct !{!185, !186, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!186 = distinct !{!186, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!187 = !{!188} +!188 = distinct !{!188, !189, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE653_clEv: %agg.result"} +!189 = distinct !{!189, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE653_clEv"} +!190 = !{i64 0, i64 10, !69} +!191 = !{i64 0, i64 20, !69} +!192 = distinct !{!192, !103} +!193 = !{i32 8481147} +!194 = !{i32 10517071} +!195 = distinct !{!195, !103} +!196 = !{!197} +!197 = distinct !{!197, !198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE507_clEv: %agg.result"} +!198 = distinct !{!198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE507_clEv"} +!199 = !{i64 0, i64 8, !69} +!200 = !{!201} +!201 = distinct !{!201, !202, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE494_clEv: %agg.result"} +!202 = distinct !{!202, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE494_clEv"} +!203 = !{!204} +!204 = distinct !{!204, !205, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE364_clEv: %agg.result"} +!205 = distinct !{!205, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE364_clEv"} +!206 = !{i64 0, i64 6, !69} +!207 = !{i32 7577226} +!208 = !{i32 10871246} +!209 = !{i64 0, i64 16, !69} +!210 = !{!211} +!211 = distinct !{!211, !212, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!212 = distinct !{!212, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!213 = !{!214} +!214 = distinct !{!214, !215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE525_clEv: %agg.result"} +!215 = distinct !{!215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE525_clEv"} +!216 = !{!217} +!217 = distinct !{!217, !218, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE338_clEv: %agg.result"} +!218 = distinct !{!218, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE338_clEv"} +!219 = !{!220} +!220 = distinct !{!220, !221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE118_clEv: %agg.result"} +!221 = distinct !{!221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE118_clEv"} +!222 = !{i32 1191920} +!223 = !{i32 10862256} +!224 = !{!225} +!225 = distinct !{!225, !226, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!226 = distinct !{!226, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!227 = !{i32 7571652} +!228 = !{i32 10514035} +!229 = distinct !{!229, !103} +!230 = !{i32 10877955} +!231 = !{!232} +!232 = distinct !{!232, !233, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!233 = distinct !{!233, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!234 = !{i32 5947327} +!235 = !{i32 10880629} +!236 = !{!237} +!237 = distinct !{!237, !238, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!238 = distinct !{!238, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!239 = !{i32 10869692} +!240 = !{!241} +!241 = distinct !{!241, !242, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!242 = distinct !{!242, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!243 = !{i32 10857866} +!244 = !{!245} +!245 = distinct !{!245, !246, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!246 = distinct !{!246, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!247 = !{i32 1308381} +!248 = !{i32 10517626} +!249 = !{!250} +!250 = distinct !{!250, !251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE7_clEv: %agg.result"} +!251 = distinct !{!251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE7_clEv"} +!252 = !{i32 1232300} +!253 = !{!254, !129, i64 0} +!254 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!255 = !{i32 6700049} +!256 = !{!257, !129, i64 0} +!257 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} +!258 = !{!259} +!259 = distinct !{!259, !260, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE182_clEv: %agg.result"} +!260 = distinct !{!260, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE182_clEv"} +!261 = !{!262} +!262 = distinct !{!262, !263, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE191_clEv: %agg.result"} +!263 = distinct !{!263, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE191_clEv"} +!264 = !{!265} +!265 = distinct !{!265, !266, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE608_clEv: %agg.result"} +!266 = distinct !{!266, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE608_clEv"} +!267 = !{!268} +!268 = distinct !{!268, !269, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE212_clEv: %agg.result"} +!269 = distinct !{!269, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE212_clEv"} +!270 = !{i32 1231862} +!271 = !{i32 10508334} +!272 = !{i32 1193719} +!273 = !{i32 10792593} +!274 = !{!275} +!275 = distinct !{!275, !276, !"_Z14__invoke_exp10IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!276 = distinct !{!276, !"_Z14__invoke_exp10IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!277 = !{i32 -2140800316} +!278 = !{i32 10512812} +!279 = !{i32 1237993} +!280 = !{i32 10855478} +!281 = !{!282} +!282 = distinct !{!282, !283, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!283 = distinct !{!283, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!284 = !{!285} +!285 = distinct !{!285, !286, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE4_clEv: %agg.result"} +!286 = distinct !{!286, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE4_clEv"} +!287 = !{!288} +!288 = distinct !{!288, !289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE260_clEv: %agg.result"} +!289 = distinct !{!289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE260_clEv"} +!290 = !{!291} +!291 = distinct !{!291, !292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE432_clEv: %agg.result"} +!292 = distinct !{!292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE432_clEv"} +!293 = !{!294} +!294 = distinct !{!294, !295, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE598_clEv: %agg.result"} +!295 = distinct !{!295, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE598_clEv"} +!296 = !{i32 10872525} +!297 = !{!298} +!298 = distinct !{!298, !299, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!299 = distinct !{!299, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!300 = !{i32 1191978} +!301 = !{i32 8559051} +!302 = !{i32 6748889} +!303 = !{!304, !129, i64 0} +!304 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} +!305 = !{i32 5947175} +!306 = !{!307, !129, i64 0} +!307 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EEE", !129, i64 0} +!308 = !{!309} +!309 = distinct !{!309, !310, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!310 = distinct !{!310, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!311 = !{i32 1254628} +!312 = !{!313, !129, i64 24} +!313 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!314 = !{!"_ZTSN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEE", !315, i64 0, !315, i64 8, !317, i64 16} +!315 = !{!"_ZTSN4sycl3_V15rangeILi1EEE", !316, i64 0} +!316 = !{!"_ZTSN4sycl3_V16detail5arrayILi1EEE", !70, i64 0} +!317 = !{!"_ZTSN4sycl3_V12idILi1EEE", !316, i64 0} +!318 = !{i32 10805267} +!319 = !{!320} +!320 = distinct !{!320, !321, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!321 = distinct !{!321, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} +!322 = !{i32 10493428} +!323 = !{i32 13072200} +!324 = !{i32 1192046} +!325 = !{i32 8560746} +!326 = !{!327} +!327 = distinct !{!327, !328, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE67_clEv: %agg.result"} +!328 = distinct !{!328, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE67_clEv"} +!329 = !{i32 6708747} +!330 = !{!331, !129, i64 0} +!331 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} +!332 = !{i32 10871600} +!333 = !{!334} +!334 = distinct !{!334, !335, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!335 = distinct !{!335, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!336 = !{i32 1293908} +!337 = !{!338, !129, i64 0} +!338 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!339 = !{!338, !129, i64 8} +!340 = !{!341, !341, i64 0} +!341 = !{!"long", !70, i64 0} +!342 = !{i32 10519660} +!343 = !{i32 6011067} +!344 = distinct !{!344, !103} +!345 = !{i32 3729002} +!346 = !{i32 10504126} +!347 = distinct !{!347, !103} +!348 = !{!349} +!349 = distinct !{!349, !350, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE254_clEv: %agg.result"} +!350 = distinct !{!350, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE254_clEv"} +!351 = !{i32 6709005} +!352 = !{!353, !129, i64 0} +!353 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} +!354 = !{i32 6700781} +!355 = !{!356} +!356 = distinct !{!356, !357, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE744_clEv: %agg.result"} +!357 = distinct !{!357, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE744_clEv"} +!358 = !{!359} +!359 = distinct !{!359, !360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE263_clEv: %agg.result"} +!360 = distinct !{!360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE263_clEv"} +!361 = !{i32 1233397} +!362 = !{i32 10853955} +!363 = !{!364} +!364 = distinct !{!364, !365, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!365 = distinct !{!365, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!366 = !{i32 10503079} +!367 = !{i32 10885699} +!368 = !{!369} +!369 = distinct !{!369, !370, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!370 = distinct !{!370, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!371 = !{i32 1241550} +!372 = !{!373, !129, i64 0} +!373 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!374 = !{i32 10523887} +!375 = distinct !{!375, !103} +!376 = !{i32 10866384} +!377 = !{!378} +!378 = distinct !{!378, !379, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!379 = distinct !{!379, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!380 = !{!381} +!381 = distinct !{!381, !382, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE296_clEv: %agg.result"} +!382 = distinct !{!382, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE296_clEv"} +!383 = !{!384, !129, i64 0} +!384 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEE", !129, i64 0} +!385 = !{!386} +!386 = distinct !{!386, !387, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE101_clEv: %agg.result"} +!387 = distinct !{!387, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE101_clEv"} +!388 = !{i32 10794751} +!389 = !{!390} +!390 = distinct !{!390, !391, !"_Z13__invoke_fminIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!391 = distinct !{!391, !"_Z13__invoke_fminIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!392 = !{i32 2819507} +!393 = !{i32 7541539} +!394 = !{i32 1282155} +!395 = !{i32 7651328} +!396 = !{i32 10524342} +!397 = distinct !{!397, !103} +!398 = !{!399} +!399 = distinct !{!399, !400, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE731_clEv: %agg.result"} +!400 = distinct !{!400, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE731_clEv"} +!401 = !{i64 0, i64 34, !69} +!402 = !{i32 10490641} +!403 = !{!404} +!404 = distinct !{!404, !405, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE0_clESA_: %agg.result"} +!405 = distinct !{!405, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE0_clESA_"} +!406 = !{!407} +!407 = distinct !{!407, !408, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} +!408 = distinct !{!408, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} +!409 = !{!410} +!410 = distinct !{!410, !411, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!411 = distinct !{!411, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!412 = !{i32 7650735} +!413 = !{i32 7651402} +!414 = !{!415} +!415 = distinct !{!415, !416, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE4_clESD_: %agg.result"} +!416 = distinct !{!416, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE4_clESD_"} +!417 = !{i32 6739933} +!418 = !{!419, !129, i64 0} +!419 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} +!420 = !{i32 10522986} +!421 = !{!422} +!422 = distinct !{!422, !423, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE135_clEv: %agg.result"} +!423 = distinct !{!423, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE135_clEv"} +!424 = !{i32 10863614} +!425 = !{!426} +!426 = distinct !{!426, !427, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!427 = distinct !{!427, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!428 = !{!429} +!429 = distinct !{!429, !430, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE38_clEv: %agg.result"} +!430 = distinct !{!430, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE38_clEv"} +!431 = !{i32 -2140790877} +!432 = !{i32 10491096} +!433 = distinct !{!433, !103} +!434 = !{!435, !129, i64 0} +!435 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} +!436 = !{i32 10800503} +!437 = !{!438} +!438 = distinct !{!438, !439, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!439 = distinct !{!439, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} +!440 = !{!441} +!441 = distinct !{!441, !442, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE421_clEv: %agg.result"} +!442 = distinct !{!442, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE421_clEv"} +!443 = !{i32 10507467} +!444 = !{i32 6742080} +!445 = !{!446} +!446 = distinct !{!446, !447, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE702_clEv: %agg.result"} +!447 = distinct !{!447, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE702_clEv"} +!448 = distinct !{!448, !103} +!449 = !{!450, !129, i64 0} +!450 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} +!451 = !{!452} +!452 = distinct !{!452, !453, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE756_clEv: %agg.result"} +!453 = distinct !{!453, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE756_clEv"} +!454 = !{i32 8558869} +!455 = !{i32 3724744} +!456 = !{i32 10498233} +!457 = distinct !{!457, !103} +!458 = !{i32 7651251} +!459 = !{!460} +!460 = distinct !{!460, !461, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE680_clEv: %agg.result"} +!461 = distinct !{!461, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE680_clEv"} +!462 = !{!463} +!463 = distinct !{!463, !464, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE479_clEv: %agg.result"} +!464 = distinct !{!464, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE479_clEv"} +!465 = !{i32 10524800} +!466 = !{i32 6757166} +!467 = !{i32 10495858} +!468 = distinct !{!468, !103} +!469 = !{i32 284018} +!470 = !{!471, !129, i64 0} +!471 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} +!472 = distinct !{!472, !103} +!473 = !{i32 284224} +!474 = !{!475} +!475 = distinct !{!475, !476, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE0_clESD_: %agg.result"} +!476 = distinct !{!476, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE0_clESD_"} +!477 = !{!478} +!478 = distinct !{!478, !479, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE89_clEv: %agg.result"} +!479 = distinct !{!479, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE89_clEv"} +!480 = !{i32 6840474} +!481 = !{i32 10801215} +!482 = !{!483} +!483 = distinct !{!483, !484, !"_Z12__invoke_logIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!484 = distinct !{!484, !"_Z12__invoke_logIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!485 = !{i32 1193513} +!486 = !{!487, !129, i64 0} +!487 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} +!488 = !{i32 10859770} +!489 = !{!490} +!490 = distinct !{!490, !491, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!491 = distinct !{!491, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!492 = distinct !{!492, !103} +!493 = !{i32 10803984} +!494 = !{!495} +!495 = distinct !{!495, !496, !"_Z15__invoke_minmagIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!496 = distinct !{!496, !"_Z15__invoke_minmagIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!497 = !{i32 10501454} +!498 = distinct !{!498, !103} +!499 = !{!500} +!500 = distinct !{!500, !501, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE127_clEv: %agg.result"} +!501 = distinct !{!501, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE127_clEv"} +!502 = !{i32 8331199} +!503 = !{i32 6740665} +!504 = !{i32 1305462} +!505 = !{i32 5987211} +!506 = !{i32 10521177} +!507 = distinct !{!507, !103} +!508 = !{!509, !129, i64 0} +!509 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEE", !129, i64 0} +!510 = !{i32 5037832} +!511 = distinct !{!511, !103} +!512 = !{!513} +!513 = distinct !{!513, !514, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE4_clESD_: %agg.result"} +!514 = distinct !{!514, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE4_clESD_"} +!515 = !{i32 1233603} +!516 = !{i32 10867736} +!517 = !{!518} +!518 = distinct !{!518, !519, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_: %agg.result"} +!519 = distinct !{!519, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_"} +!520 = !{i32 1232478} +!521 = !{!522, !129, i64 0} +!522 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!523 = !{!522, !129, i64 8} +!524 = !{!522, !129, i64 16} +!525 = !{!522, !129, i64 24} +!526 = !{!527, !129, i64 0} +!527 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} +!528 = !{i32 283099} +!529 = !{!530, !129, i64 0} +!530 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!531 = !{!530, !129, i64 8} +!532 = !{!530, !129, i64 16} +!533 = !{!530, !129, i64 24} +!534 = !{i32 1355020} +!535 = distinct !{!535, !103} +!536 = !{!537, !129, i64 0} +!537 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!538 = !{!537, !129, i64 8} +!539 = !{!537, !129, i64 16} +!540 = !{!537, !129, i64 24} +!541 = !{!542} +!542 = distinct !{!542, !543, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE251_clEv: %agg.result"} +!543 = distinct !{!543, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE251_clEv"} +!544 = !{!545} +!545 = distinct !{!545, !546, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE79_clEv: %agg.result"} +!546 = distinct !{!546, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE79_clEv"} +!547 = distinct !{!547, !103} +!548 = !{i32 10879727} +!549 = !{!550} +!550 = distinct !{!550, !551, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!551 = distinct !{!551, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!552 = distinct !{!552, !103} +!553 = !{!554} +!554 = distinct !{!554, !555, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE161_clEv: %agg.result"} +!555 = distinct !{!555, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE161_clEv"} +!556 = !{i32 5987059} +!557 = !{i32 10884832} +!558 = !{!559} +!559 = distinct !{!559, !560, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!560 = distinct !{!560, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!561 = !{!562} +!562 = distinct !{!562, !563, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE44_clEv: %agg.result"} +!563 = distinct !{!563, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE44_clEv"} +!564 = !{i32 7750274} +!565 = !{!566} +!566 = distinct !{!566, !567, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE646_clEv: %agg.result"} +!567 = distinct !{!567, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE646_clEv"} +!568 = distinct !{!568, !103} +!569 = !{i32 8559900} +!570 = !{i32 1192416} +!571 = !{!572, !129, i64 0} +!572 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!573 = !{!574, !129, i64 0} +!574 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} +!575 = !{i32 6797050} +!576 = !{i32 280789} +!577 = !{!578, !129, i64 0} +!578 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!579 = !{!578, !129, i64 8} +!580 = !{!578, !129, i64 16} +!581 = !{i32 10508805} +!582 = distinct !{!582, !103} +!583 = !{i32 10796344} +!584 = !{!585} +!585 = distinct !{!585, !586, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!586 = distinct !{!586, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} +!587 = !{i32 7577785} +!588 = distinct !{!588, !103} +!589 = !{!590} +!590 = distinct !{!590, !591, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} +!591 = distinct !{!591, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} +!592 = distinct !{!592, !103} +!593 = !{!594} +!594 = distinct !{!594, !595, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE543_clEv: %agg.result"} +!595 = distinct !{!595, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE543_clEv"} +!596 = !{i32 10856293} +!597 = !{!598} +!598 = distinct !{!598, !599, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!599 = distinct !{!599, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!600 = !{!601} +!601 = distinct !{!601, !602, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE316_clEv: %agg.result"} +!602 = distinct !{!602, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE316_clEv"} +!603 = !{!604} +!604 = distinct !{!604, !605, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE323_clEv: %agg.result"} +!605 = distinct !{!605, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE323_clEv"} +!606 = !{i32 1254495} +!607 = !{!608} +!608 = distinct !{!608, !609, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} +!609 = distinct !{!609, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} +!610 = !{i32 12914431} +!611 = !{!612} +!612 = distinct !{!612, !613, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE119_clEv: %agg.result"} +!613 = distinct !{!613, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE119_clEv"} +!614 = !{!615} +!615 = distinct !{!615, !616, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!616 = distinct !{!616, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!617 = !{i32 10877295} +!618 = !{!619} +!619 = distinct !{!619, !620, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!620 = distinct !{!620, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!621 = !{!622, !129, i64 0} +!622 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} +!623 = !{i32 1253853} +!624 = !{!625, !129, i64 24} +!625 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!626 = !{!627, !129, i64 0} +!627 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!628 = !{i32 10860931} +!629 = !{!630} +!630 = distinct !{!630, !631, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!631 = distinct !{!631, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!632 = !{!633} +!633 = distinct !{!633, !634, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE104_clEv: %agg.result"} +!634 = distinct !{!634, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE104_clEv"} +!635 = !{i32 10876840} +!636 = !{!637} +!637 = distinct !{!637, !638, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_: %agg.result"} +!638 = distinct !{!638, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_"} +!639 = !{!640} +!640 = distinct !{!640, !641, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE346_clEv: %agg.result"} +!641 = distinct !{!641, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE346_clEv"} +!642 = !{!643} +!643 = distinct !{!643, !644, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE253_clEv: %agg.result"} +!644 = distinct !{!644, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE253_clEv"} +!645 = !{i32 6671729} +!646 = !{!647, !129, i64 0} +!647 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!648 = !{!649} +!649 = distinct !{!649, !650, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} +!650 = distinct !{!650, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} +!651 = !{i32 1241641} +!652 = !{!653, !129, i64 0} +!653 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!654 = !{!653, !129, i64 8} +!655 = !{i32 10852436} +!656 = !{!657} +!657 = distinct !{!657, !658, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!658 = distinct !{!658, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!659 = !{i32 10884314} +!660 = !{!661} +!661 = distinct !{!661, !662, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!662 = distinct !{!662, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!663 = !{i32 10886053} +!664 = !{!665} +!665 = distinct !{!665, !666, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!666 = distinct !{!666, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!667 = !{!668} +!668 = distinct !{!668, !669, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} +!669 = distinct !{!669, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} +!670 = !{!671} +!671 = distinct !{!671, !672, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE3_clESA_: %agg.result"} +!672 = distinct !{!672, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE3_clESA_"} +!673 = !{!674} +!674 = distinct !{!674, !675, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE728_clEv: %agg.result"} +!675 = distinct !{!675, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE728_clEv"} +!676 = !{i32 2815249} +!677 = !{!678, !129, i64 0} +!678 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} +!679 = !{!680} +!680 = distinct !{!680, !681, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE206_clEv: %agg.result"} +!681 = distinct !{!681, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE206_clEv"} +!682 = !{!683} +!683 = distinct !{!683, !684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE764_clEv: %agg.result"} +!684 = distinct !{!684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE764_clEv"} +!685 = !{i32 10860533} +!686 = !{!687} +!687 = distinct !{!687, !688, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!688 = distinct !{!688, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!689 = !{i64 0, i64 64, !69} +!690 = !{!691} +!691 = distinct !{!691, !692, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_: %agg.result"} +!692 = distinct !{!692, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_"} +!693 = !{i32 1293737} +!694 = !{!695, !129, i64 24} +!695 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!696 = !{!697, !129, i64 0} +!697 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!698 = !{i32 332055} +!699 = !{!700, !129, i64 0} +!700 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!701 = !{i32 282483} +!702 = !{!703} +!703 = distinct !{!703, !704, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE305_clEv: %agg.result"} +!704 = distinct !{!704, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE305_clEv"} +!705 = !{!706} +!706 = distinct !{!706, !707, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE292_clEv: %agg.result"} +!707 = distinct !{!707, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE292_clEv"} +!708 = !{!709} +!709 = distinct !{!709, !710, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE287_clEv: %agg.result"} +!710 = distinct !{!710, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE287_clEv"} +!711 = !{!712} +!712 = distinct !{!712, !713, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE527_clEv: %agg.result"} +!713 = distinct !{!713, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE527_clEv"} +!714 = distinct !{!714, !103} +!715 = !{i32 282770} +!716 = !{i32 10853146} +!717 = !{!718} +!718 = distinct !{!718, !719, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!719 = distinct !{!719, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!720 = !{!721} +!721 = distinct !{!721, !722, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_: %agg.result"} +!722 = distinct !{!722, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_"} +!723 = !{i32 1396264} +!724 = !{!725} +!725 = distinct !{!725, !726, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE339_clEv: %agg.result"} +!726 = distinct !{!726, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE339_clEv"} +!727 = !{i32 6702196} +!728 = !{i32 10521627} +!729 = distinct !{!729, !103} +!730 = !{!731, !129, i64 0} +!731 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} +!732 = !{!733} +!733 = distinct !{!733, !734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE_clESD_: %agg.result"} +!734 = distinct !{!734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE_clESD_"} +!735 = !{!736} +!736 = distinct !{!736, !737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE216_clEv: %agg.result"} +!737 = distinct !{!737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE216_clEv"} +!738 = !{!739, !129, i64 0} +!739 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} +!740 = !{!741, !129, i64 0} +!741 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} +!742 = !{!743} +!743 = distinct !{!743, !744, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE0_clESD_: %agg.result"} +!744 = distinct !{!744, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE0_clESD_"} +!745 = !{i32 10492006} +!746 = distinct !{!746, !103} +!747 = !{!748} +!748 = distinct !{!748, !749, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE473_clEv: %agg.result"} +!749 = distinct !{!749, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE473_clEv"} +!750 = !{i32 1264944} +!751 = !{i32 10799212} +!752 = !{!753} +!753 = distinct !{!753, !754, !"_Z15__invoke_lgammaIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!754 = distinct !{!754, !"_Z15__invoke_lgammaIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!755 = !{!756} +!756 = distinct !{!756, !757, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE652_clEv: %agg.result"} +!757 = distinct !{!757, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE652_clEv"} +!758 = !{i32 6840779} +!759 = !{!760} +!760 = distinct !{!760, !761, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE3_clESD_: %agg.result"} +!761 = distinct !{!761, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE3_clESD_"} +!762 = distinct !{!762, !103} +!763 = !{!764} +!764 = distinct !{!764, !765, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE110_clEv: %agg.result"} +!765 = distinct !{!765, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE110_clEv"} +!766 = !{i32 280706} +!767 = !{!768} +!768 = distinct !{!768, !769, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE748_clEv: %agg.result"} +!769 = distinct !{!769, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE748_clEv"} +!770 = !{!771} +!771 = distinct !{!771, !772, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE205_clEv: %agg.result"} +!772 = distinct !{!772, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE205_clEv"} +!773 = !{i32 1294379} +!774 = !{i32 10851022} +!775 = !{!776} +!776 = distinct !{!776, !777, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!777 = distinct !{!777, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!778 = !{!779} +!779 = distinct !{!779, !780, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE570_clEv: %agg.result"} +!780 = distinct !{!780, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE570_clEv"} +!781 = !{i32 10500035} +!782 = distinct !{!782, !103} +!783 = !{i32 10858216} +!784 = !{!785} +!785 = distinct !{!785, !786, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!786 = distinct !{!786, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!787 = !{!788} +!788 = distinct !{!788, !789, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE73_clEv: %agg.result"} +!789 = distinct !{!789, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE73_clEv"} +!790 = !{i32 10502481} +!791 = distinct !{!791, !103} +!792 = !{i32 10510778} +!793 = distinct !{!793, !103} +!794 = !{!795} +!795 = distinct !{!795, !796, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE162_clEv: %agg.result"} +!796 = distinct !{!796, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE162_clEv"} +!797 = !{!798} +!798 = distinct !{!798, !799, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESJ_: %agg.result"} +!799 = distinct !{!799, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESJ_"} +!800 = !{!801} +!801 = distinct !{!801, !802, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE460_clEv: %agg.result"} +!802 = distinct !{!802, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE460_clEv"} +!803 = !{i32 10506942} +!804 = distinct !{!804, !103} +!805 = !{!806, !127, i64 0} +!806 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300418EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !812, i64 104} +!807 = !{!"_ZTSN4sycl3_V114local_accessorIiLi1EEE", !808, i64 0} +!808 = !{!"_ZTSN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!809 = !{!"_ZTSN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEE", !810, i64 0, !70, i64 24} +!810 = !{!"_ZTSN4sycl3_V16detail18AccessorImplDeviceILi1EEE", !317, i64 0, !315, i64 8, !315, i64 16} +!811 = !{!"_ZTSN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEE", !810, i64 0, !70, i64 24} +!812 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE_"} +!813 = !{!814} +!814 = distinct !{!814, !815, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE_clES8_: %agg.result"} +!815 = distinct !{!815, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE_clES8_"} +!816 = !{!817} +!817 = distinct !{!817, !818, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE133_clEv: %agg.result"} +!818 = distinct !{!818, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE133_clEv"} +!819 = !{!820} +!820 = distinct !{!820, !821, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE602_clEv: %agg.result"} +!821 = distinct !{!821, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE602_clEv"} +!822 = !{!823} +!823 = distinct !{!823, !824, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE1_clESD_: %agg.result"} +!824 = distinct !{!824, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE1_clESD_"} +!825 = distinct !{!825, !103} +!826 = !{!827} +!827 = distinct !{!827, !828, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE466_clEv: %agg.result"} +!828 = distinct !{!828, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE466_clEv"} +!829 = !{!830} +!830 = distinct !{!830, !831, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE815_clEv: %agg.result"} +!831 = distinct !{!831, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE815_clEv"} +!832 = !{!833} +!833 = distinct !{!833, !834, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE396_clEv: %agg.result"} +!834 = distinct !{!834, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE396_clEv"} +!835 = !{!836} +!836 = distinct !{!836, !837, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE394_clEv: %agg.result"} +!837 = distinct !{!837, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE394_clEv"} +!838 = !{i32 10510326} +!839 = distinct !{!839, !103} +!840 = !{!841} +!841 = distinct !{!841, !842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} +!842 = distinct !{!842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} +!843 = !{i32 10886409} +!844 = !{!845} +!845 = distinct !{!845, !846, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!846 = distinct !{!846, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!847 = !{i32 10797836} +!848 = !{!849} +!849 = distinct !{!849, !850, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!850 = distinct !{!850, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} +!851 = distinct !{!851, !103} +!852 = distinct !{!852, !103} +!853 = !{i32 282551} +!854 = !{!855, !129, i64 0} +!855 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!856 = !{!855, !129, i64 8} +!857 = !{!858, !129, i64 0} +!858 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!859 = !{i32 10798633} +!860 = !{i32 10885347} +!861 = !{!862} +!862 = distinct !{!862, !863, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!863 = distinct !{!863, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!864 = !{i32 10863134} +!865 = !{!866} +!866 = distinct !{!866, !867, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!867 = distinct !{!867, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!868 = !{i32 10789797} +!869 = !{!870} +!870 = distinct !{!870, !871, !"_Z12__invoke_cosIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!871 = distinct !{!871, !"_Z12__invoke_cosIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!872 = distinct !{!872, !103} +!873 = !{i32 10511688} +!874 = !{i32 10508029} +!875 = distinct !{!875, !103} +!876 = !{!877} +!877 = distinct !{!877, !878, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE688_clEv: %agg.result"} +!878 = distinct !{!878, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE688_clEv"} +!879 = !{!880} +!880 = distinct !{!880, !881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE585_clEv: %agg.result"} +!881 = distinct !{!881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE585_clEv"} +!882 = distinct !{!882, !103} +!883 = !{i32 10809400} +!884 = !{!885} +!885 = distinct !{!885, !886, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_T2_: %agg.result"} +!886 = distinct !{!886, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_T2_"} +!887 = !{!888, !129, i64 0} +!888 = !{!"_ZTSZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!889 = !{!888, !129, i64 8} +!890 = !{i32 10522079} +!891 = distinct !{!891, !103} +!892 = !{i32 7580476} +!893 = !{!894} +!894 = distinct !{!894, !895, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE204_clEv: %agg.result"} +!895 = distinct !{!895, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE204_clEv"} +!896 = !{!897} +!897 = distinct !{!897, !898, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE318_clEv: %agg.result"} +!898 = distinct !{!898, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE318_clEv"} +!899 = !{!900} +!900 = distinct !{!900, !901, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE581_clEv: %agg.result"} +!901 = distinct !{!901, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE581_clEv"} +!902 = !{i32 10872026} +!903 = !{!904} +!904 = distinct !{!904, !905, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!905 = distinct !{!905, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_S6_ET_T0_T1_T2_"} +!906 = !{!907, !129, i64 0} +!907 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} +!908 = !{!909} +!909 = distinct !{!909, !910, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} +!910 = distinct !{!910, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} +!911 = !{i32 10868170} +!912 = !{!913} +!913 = distinct !{!913, !914, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!914 = distinct !{!914, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!915 = !{!916, !129, i64 0} +!916 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!917 = !{!916, !129, i64 8} +!918 = !{!919} +!919 = distinct !{!919, !920, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE605_clEv: %agg.result"} +!920 = distinct !{!920, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE605_clEv"} +!921 = !{!922} +!922 = distinct !{!922, !923, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE214_clEv: %agg.result"} +!923 = distinct !{!923, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE214_clEv"} +!924 = !{i32 1190201} +!925 = !{!926, !129, i64 0} +!926 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!927 = !{i32 10852790} +!928 = !{!929} +!929 = distinct !{!929, !930, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!930 = distinct !{!930, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!931 = !{!932} +!932 = distinct !{!932, !933, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE675_clEv: %agg.result"} +!933 = distinct !{!933, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE675_clEv"} +!934 = !{!935} +!935 = distinct !{!935, !936, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE595_clEv: %agg.result"} +!936 = distinct !{!936, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE595_clEv"} +!937 = !{i32 10494384} +!938 = distinct !{!938, !103} +!939 = !{i32 1242271} +!940 = !{!941} +!941 = distinct !{!941, !942, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE669_clEv: %agg.result"} +!942 = distinct !{!942, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE669_clEv"} +!943 = !{!944, !129, i64 0} +!944 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} +!945 = !{!946} +!946 = distinct !{!946, !947, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE47_clEv: %agg.result"} +!947 = distinct !{!947, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE47_clEv"} +!948 = !{!949} +!949 = distinct !{!949, !950, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE332_clEv: %agg.result"} +!950 = distinct !{!950, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE332_clEv"} +!951 = !{!952} +!952 = distinct !{!952, !953, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE293_clEv: %agg.result"} +!953 = distinct !{!953, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE293_clEv"} +!954 = !{i32 8486721} +!955 = !{!956} +!956 = distinct !{!956, !957, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!957 = distinct !{!957, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} +!958 = !{!959} +!959 = distinct !{!959, !960, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE39_clEv: %agg.result"} +!960 = distinct !{!960, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE39_clEv"} +!961 = !{i32 10516711} +!962 = distinct !{!962, !103} +!963 = distinct !{!963, !103} +!964 = !{!965} +!965 = distinct !{!965, !966, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE181_clEv: %agg.result"} +!966 = distinct !{!966, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE181_clEv"} +!967 = !{i32 10860124} +!968 = !{!969} +!969 = distinct !{!969, !970, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!970 = distinct !{!970, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!971 = !{i32 7422001} +!972 = !{!973} +!973 = distinct !{!973, !974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE425_clEv: %agg.result"} +!974 = distinct !{!974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE425_clEv"} +!975 = !{i32 10499583} +!976 = distinct !{!976, !103} +!977 = !{!978} +!978 = distinct !{!978, !979, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE69_clEv: %agg.result"} +!979 = distinct !{!979, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE69_clEv"} +!980 = !{!981} +!981 = distinct !{!981, !982, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE311_clEv: %agg.result"} +!982 = distinct !{!982, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE311_clEv"} +!983 = !{i32 10853555} +!984 = !{!985} +!985 = distinct !{!985, !986, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!986 = distinct !{!986, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!987 = !{!988} +!988 = distinct !{!988, !989, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE413_clEv: %agg.result"} +!989 = distinct !{!989, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE413_clEv"} +!990 = distinct !{!990, !103} +!991 = !{i32 10506436} +!992 = distinct !{!992, !103} +!993 = !{!994} +!994 = distinct !{!994, !995, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} +!995 = distinct !{!995, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} +!996 = !{i32 -2140801031} +!997 = !{i32 10854309} +!998 = !{!999} +!999 = distinct !{!999, !1000, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!1000 = distinct !{!1000, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!1001 = !{!1002, !129, i64 0} +!1002 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!1003 = !{!1004} +!1004 = distinct !{!1004, !1005, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE666_clEv: %agg.result"} +!1005 = distinct !{!1005, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE666_clEv"} +!1006 = !{!1007, !129, i64 0} +!1007 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} +!1008 = !{!1009} +!1009 = distinct !{!1009, !1010, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} +!1010 = distinct !{!1010, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} +!1011 = distinct !{!1011, !103} +!1012 = !{!1013} +!1013 = distinct !{!1013, !1014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE599_clEv: %agg.result"} +!1014 = distinct !{!1014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE599_clEv"} +!1015 = !{!1016} +!1016 = distinct !{!1016, !1017, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE485_clEv: %agg.result"} +!1017 = distinct !{!1017, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE485_clEv"} +!1018 = !{!1019} +!1019 = distinct !{!1019, !1020, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE88_clEv: %agg.result"} +!1020 = distinct !{!1020, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE88_clEv"} +!1021 = !{!1022, !127, i64 0} +!1022 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300539EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !1023, i64 104} +!1023 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE2_"} +!1024 = !{!1025} +!1025 = distinct !{!1025, !1026, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} +!1026 = distinct !{!1026, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} +!1027 = !{!1028, !129, i64 0} +!1028 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1029 = !{!1030} +!1030 = distinct !{!1030, !1031, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE266_clEv: %agg.result"} +!1031 = distinct !{!1031, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE266_clEv"} +!1032 = !{!1033, !129, i64 0} +!1033 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!1034 = !{!1033, !129, i64 8} +!1035 = !{!1033, !129, i64 16} +!1036 = !{i32 10790696} +!1037 = !{!1038} +!1038 = distinct !{!1038, !1039, !"_Z13__invoke_erfcIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1039 = distinct !{!1039, !"_Z13__invoke_erfcIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1040 = !{!1041} +!1041 = distinct !{!1041, !1042, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!1042 = distinct !{!1042, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!1043 = !{!1044} +!1044 = distinct !{!1044, !1045, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE493_clEv: %agg.result"} +!1045 = distinct !{!1045, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE493_clEv"} +!1046 = !{!1047} +!1047 = distinct !{!1047, !1048, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE3_clESB_: %agg.result"} +!1048 = distinct !{!1048, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE3_clESB_"} +!1049 = !{!1050, !129, i64 0} +!1050 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} +!1051 = !{i32 10802757} +!1052 = !{!1053} +!1053 = distinct !{!1053, !1054, !"_Z14__invoke_log1pIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1054 = distinct !{!1054, !"_Z14__invoke_log1pIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1055 = !{i32 6671413} +!1056 = !{!1057} +!1057 = distinct !{!1057, !1058, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE647_clEv: %agg.result"} +!1058 = distinct !{!1058, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE647_clEv"} +!1059 = !{!1060, !129, i64 0} +!1060 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!1061 = !{!1060, !129, i64 8} +!1062 = !{i32 1265578} +!1063 = !{i32 10494899} +!1064 = distinct !{!1064, !103} +!1065 = !{!1066} +!1066 = distinct !{!1066, !1067, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE771_clEv: %agg.result"} +!1067 = distinct !{!1067, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE771_clEv"} +!1068 = distinct !{!1068, !103} +!1069 = !{!1070} +!1070 = distinct !{!1070, !1071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE74_clEv: %agg.result"} +!1071 = distinct !{!1071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE74_clEv"} +!1072 = !{!1073} +!1073 = distinct !{!1073, !1074, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE730_clEv: %agg.result"} +!1074 = distinct !{!1074, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE730_clEv"} +!1075 = !{!1076} +!1076 = distinct !{!1076, !1077, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE475_clEv: %agg.result"} +!1077 = distinct !{!1077, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE475_clEv"} +!1078 = !{!1079} +!1079 = distinct !{!1079, !1080, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE631_clEv: %agg.result"} +!1080 = distinct !{!1080, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE631_clEv"} +!1081 = distinct !{!1081, !103} +!1082 = !{i32 10519355} +!1083 = distinct !{!1083, !103} +!1084 = !{!1085} +!1085 = distinct !{!1085, !1086, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!1086 = distinct !{!1086, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!1087 = !{!1088, !129, i64 0} +!1088 = !{!"_ZTSZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1089 = !{!1090, !129, i64 0} +!1090 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} +!1091 = !{!1092} +!1092 = distinct !{!1092, !1093, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!1093 = distinct !{!1093, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_S6_ET_T0_T1_T2_"} +!1094 = !{i32 5939387} +!1095 = !{i32 10857514} +!1096 = !{!1097} +!1097 = distinct !{!1097, !1098, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!1098 = distinct !{!1098, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!1099 = !{i32 10861858} +!1100 = !{!1101} +!1101 = distinct !{!1101, !1102, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!1102 = distinct !{!1102, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!1103 = !{i32 1277877} +!1104 = distinct !{!1104, !103} +!1105 = !{!1106} +!1106 = distinct !{!1106, !1107, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE480_clEv: %agg.result"} +!1107 = distinct !{!1107, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE480_clEv"} +!1108 = !{i32 1231930} +!1109 = !{i32 1304828} +!1110 = distinct !{!1110, !103} +!1111 = !{!1112} +!1112 = distinct !{!1112, !1113, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE478_clEv: %agg.result"} +!1113 = distinct !{!1113, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE478_clEv"} +!1114 = !{!1115} +!1115 = distinct !{!1115, !1116, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE301_clEv: %agg.result"} +!1116 = distinct !{!1116, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE301_clEv"} +!1117 = distinct !{!1117, !103} +!1118 = !{!1119} +!1119 = distinct !{!1119, !1120, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE600_clEv: %agg.result"} +!1120 = distinct !{!1120, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE600_clEv"} +!1121 = distinct !{!1121, !103} +!1122 = !{!1123} +!1123 = distinct !{!1123, !1124, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} +!1124 = distinct !{!1124, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} +!1125 = !{!1126} +!1126 = distinct !{!1126, !1127, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE298_clEv: %agg.result"} +!1127 = distinct !{!1127, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE298_clEv"} +!1128 = !{i32 10497326} +!1129 = !{i32 1254024} +!1130 = !{!1131, !129, i64 0} +!1131 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!1132 = !{!1131, !129, i64 8} +!1133 = !{!1134} +!1134 = distinct !{!1134, !1135, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE763_clEv: %agg.result"} +!1135 = distinct !{!1135, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE763_clEv"} +!1136 = !{!1137} +!1137 = distinct !{!1137, !1138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE148_clEv: %agg.result"} +!1138 = distinct !{!1138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE148_clEv"} +!1139 = !{!1140} +!1140 = distinct !{!1140, !1141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE752_clEv: %agg.result"} +!1141 = distinct !{!1141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE752_clEv"} +!1142 = !{i64 0, i64 12, !69} +!1143 = !{!1144} +!1144 = distinct !{!1144, !1145, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE0_clESA_: %agg.result"} +!1145 = distinct !{!1145, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE0_clESA_"} +!1146 = !{!1147} +!1147 = distinct !{!1147, !1148, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE804_clEv: %agg.result"} +!1148 = distinct !{!1148, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE804_clEv"} +!1149 = !{!1150} +!1150 = distinct !{!1150, !1151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE571_clEv: %agg.result"} +!1151 = distinct !{!1151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE571_clEv"} +!1152 = !{!1153} +!1153 = distinct !{!1153, !1154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE240_clEv: %agg.result"} +!1154 = distinct !{!1154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE240_clEv"} +!1155 = !{i32 10872984} +!1156 = !{!1157} +!1157 = distinct !{!1157, !1158, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!1158 = distinct !{!1158, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!1159 = !{!1160, !129, i64 0} +!1160 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} +!1161 = distinct !{!1161, !103} +!1162 = distinct !{!1162, !103} +!1163 = !{!1164} +!1164 = distinct !{!1164, !1165, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE310_clEv: %agg.result"} +!1165 = distinct !{!1165, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE310_clEv"} +!1166 = !{i32 10512214} +!1167 = distinct !{!1167, !103} +!1168 = !{!1169} +!1169 = distinct !{!1169, !1170, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE751_clEv: %agg.result"} +!1170 = distinct !{!1170, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE751_clEv"} +!1171 = !{i32 -2140788401} +!1172 = !{!1173} +!1173 = distinct !{!1173, !1174, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE26_clEv: %agg.result"} +!1174 = distinct !{!1174, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE26_clEv"} +!1175 = !{i32 7429784} +!1176 = distinct !{!1176, !103} +!1177 = !{!1178} +!1178 = distinct !{!1178, !1179, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE448_clEv: %agg.result"} +!1179 = distinct !{!1179, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE448_clEv"} +!1180 = !{!1181, !127, i64 4} +!1181 = !{!"_ZTS15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiE", !1182, i64 0, !127, i64 4} +!1182 = !{!"_ZTSN4sycl3_V16detail9half_impl4halfE", !100, i64 0} +!1183 = !{i32 1281525} +!1184 = !{!1185, !129, i64 0} +!1185 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!1186 = !{!1185, !129, i64 8} +!1187 = !{i32 10811561} +!1188 = !{!1189} +!1189 = distinct !{!1189, !1190, !"_Z12__invoke_sinIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1190 = distinct !{!1190, !"_Z12__invoke_sinIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1191 = !{!1192, !127, i64 0} +!1192 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300538EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !1193, i64 104} +!1193 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE1_"} +!1194 = !{!1195} +!1195 = distinct !{!1195, !1196, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE784_clEv: %agg.result"} +!1196 = distinct !{!1196, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE784_clEv"} +!1197 = distinct !{!1197, !103} +!1198 = !{i32 10854722} +!1199 = !{!1200} +!1200 = distinct !{!1200, !1201, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!1201 = distinct !{!1201, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!1202 = !{i32 10880229} +!1203 = !{!1204} +!1204 = distinct !{!1204, !1205, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_: %agg.result"} +!1205 = distinct !{!1205, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_"} +!1206 = !{!1207, !129, i64 0} +!1207 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} +!1208 = !{!1209} +!1209 = distinct !{!1209, !1210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE322_clEv: %agg.result"} +!1210 = distinct !{!1210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE322_clEv"} +!1211 = !{!1212} +!1212 = distinct !{!1212, !1213, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE157_clEv: %agg.result"} +!1213 = distinct !{!1213, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE157_clEv"} +!1214 = distinct !{!1214, !103} +!1215 = !{i32 516680} +!1216 = !{!1182, !100, i64 0} +!1217 = distinct !{!1217, !103} +!1218 = !{i32 10785933} +!1219 = !{!1220} +!1220 = distinct !{!1220, !1221, !"_Z14__invoke_acoshIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1221 = distinct !{!1221, !"_Z14__invoke_acoshIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1222 = !{!1223} +!1223 = distinct !{!1223, !1224, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE808_clEv: %agg.result"} +!1224 = distinct !{!1224, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE808_clEv"} +!1225 = !{i32 10858731} +!1226 = !{!1227} +!1227 = distinct !{!1227, !1228, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!1228 = distinct !{!1228, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!1229 = !{i32 5943696} +!1230 = !{!1231} +!1231 = distinct !{!1231, !1232, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_T2_: %agg.result"} +!1232 = distinct !{!1232, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_T2_"} +!1233 = !{!1234, !129, i64 0} +!1234 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1235 = distinct !{!1235, !103} +!1236 = !{i32 8559753} +!1237 = !{!1238} +!1238 = distinct !{!1238, !1239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE80_clEv: %agg.result"} +!1239 = distinct !{!1239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE80_clEv"} +!1240 = !{!1241} +!1241 = distinct !{!1241, !1242, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE620_clEv: %agg.result"} +!1242 = distinct !{!1242, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE620_clEv"} +!1243 = !{!1244} +!1244 = distinct !{!1244, !1245, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE221_clEv: %agg.result"} +!1245 = distinct !{!1245, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE221_clEv"} +!1246 = !{!1247} +!1247 = distinct !{!1247, !1248, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!1248 = distinct !{!1248, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!1249 = !{!1250} +!1250 = distinct !{!1250, !1251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE1_clESB_: %agg.result"} +!1251 = distinct !{!1251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE1_clESB_"} +!1252 = !{!1253} +!1253 = distinct !{!1253, !1254, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE503_clEv: %agg.result"} +!1254 = distinct !{!1254, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE503_clEv"} +!1255 = !{i32 10875829} +!1256 = !{!1257} +!1257 = distinct !{!1257, !1258, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!1258 = distinct !{!1258, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!1259 = !{!1260} +!1260 = distinct !{!1260, !1261, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE_clESA_: %agg.result"} +!1261 = distinct !{!1261, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE_clESA_"} +!1262 = !{!1263} +!1263 = distinct !{!1263, !1264, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE248_clEv: %agg.result"} +!1264 = distinct !{!1264, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE248_clEv"} +!1265 = !{!627, !129, i64 8} +!1266 = !{!1267, !129, i64 0} +!1267 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} +!1268 = !{!1269} +!1269 = distinct !{!1269, !1270, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE777_clEv: %agg.result"} +!1270 = distinct !{!1270, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE777_clEv"} +!1271 = !{i32 12009446} +!1272 = distinct !{!1272, !103} +!1273 = !{!1274} +!1274 = distinct !{!1274, !1275, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!1275 = distinct !{!1275, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!1276 = !{!1277} +!1277 = distinct !{!1277, !1278, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE690_clEv: %agg.result"} +!1278 = distinct !{!1278, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE690_clEv"} +!1279 = distinct !{!1279, !103} +!1280 = !{!1281} +!1281 = distinct !{!1281, !1282, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE492_clEv: %agg.result"} +!1282 = distinct !{!1282, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE492_clEv"} +!1283 = !{i32 8560897} +!1284 = distinct !{!1284, !103} +!1285 = !{!1286} +!1286 = distinct !{!1286, !1287, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE90_clEv: %agg.result"} +!1287 = distinct !{!1287, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE90_clEv"} +!1288 = distinct !{!1288, !103} +!1289 = distinct !{!1289, !103} +!1290 = !{!1291} +!1291 = distinct !{!1291, !1292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} +!1292 = distinct !{!1292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} +!1293 = distinct !{!1293, !103} +!1294 = !{!1295} +!1295 = distinct !{!1295, !1296, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE175_clEv: %agg.result"} +!1296 = distinct !{!1296, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE175_clEv"} +!1297 = distinct !{!1297, !103} +!1298 = !{!1299} +!1299 = distinct !{!1299, !1300, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE40_clEv: %agg.result"} +!1300 = distinct !{!1300, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE40_clEv"} +!1301 = !{!1302} +!1302 = distinct !{!1302, !1303, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_T2_: %agg.result"} +!1303 = distinct !{!1303, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_T2_"} +!1304 = !{!1305} +!1305 = distinct !{!1305, !1306, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE66_clEv: %agg.result"} +!1306 = distinct !{!1306, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE66_clEv"} +!1307 = !{!1308} +!1308 = distinct !{!1308, !1309, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!1309 = distinct !{!1309, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} +!1310 = !{!1311} +!1311 = distinct !{!1311, !1312, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE589_clEv: %agg.result"} +!1312 = distinct !{!1312, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE589_clEv"} +!1313 = !{!1314} +!1314 = distinct !{!1314, !1315, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE235_clEv: %agg.result"} +!1315 = distinct !{!1315, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE235_clEv"} +!1316 = !{!1317} +!1317 = distinct !{!1317, !1318, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE333_clEv: %agg.result"} +!1318 = distinct !{!1318, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE333_clEv"} +!1319 = !{i32 10499134} +!1320 = distinct !{!1320, !103} +!1321 = !{!1322} +!1322 = distinct !{!1322, !1323, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE587_clEv: %agg.result"} +!1323 = distinct !{!1323, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE587_clEv"} +!1324 = !{!1325} +!1325 = distinct !{!1325, !1326, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!1326 = distinct !{!1326, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!1327 = !{!1328, !129, i64 0} +!1328 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} +!1329 = !{!1330} +!1330 = distinct !{!1330, !1331, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} +!1331 = distinct !{!1331, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} +!1332 = !{!1333} +!1333 = distinct !{!1333, !1334, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE510_clEv: %agg.result"} +!1334 = distinct !{!1334, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE510_clEv"} +!1335 = distinct !{!1335, !103} +!1336 = !{!1337} +!1337 = distinct !{!1337, !1338, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} +!1338 = distinct !{!1338, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} +!1339 = !{!1340} +!1340 = distinct !{!1340, !1341, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!1341 = distinct !{!1341, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!1342 = !{!1343} +!1343 = distinct !{!1343, !1344, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!1344 = distinct !{!1344, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!1345 = !{!1346, !129, i64 0} +!1346 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} +!1347 = !{!1348} +!1348 = distinct !{!1348, !1349, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE705_clEv: %agg.result"} +!1349 = distinct !{!1349, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE705_clEv"} +!1350 = !{!1351} +!1351 = distinct !{!1351, !1352, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE233_clEv: %agg.result"} +!1352 = distinct !{!1352, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE233_clEv"} +!1353 = !{i32 10523435} +!1354 = !{!1355, !129, i64 0} +!1355 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!1356 = distinct !{!1356, !103} +!1357 = !{i32 10851728} +!1358 = !{!1359} +!1359 = distinct !{!1359, !1360, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!1360 = distinct !{!1360, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!1361 = !{!1362} +!1362 = distinct !{!1362, !1363, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE758_clEv: %agg.result"} +!1363 = distinct !{!1363, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE758_clEv"} +!1364 = !{!1365} +!1365 = distinct !{!1365, !1366, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE411_clEv: %agg.result"} +!1366 = distinct !{!1366, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE411_clEv"} +!1367 = !{i32 8379163} +!1368 = distinct !{!1368, !103} +!1369 = !{i32 10501952} +!1370 = distinct !{!1370, !103} +!1371 = !{!1372} +!1372 = distinct !{!1372, !1373, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!1373 = distinct !{!1373, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!1374 = distinct !{!1374, !103} +!1375 = distinct !{!1375, !103} +!1376 = !{!1377} +!1377 = distinct !{!1377, !1378, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE194_clEv: %agg.result"} +!1378 = distinct !{!1378, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE194_clEv"} +!1379 = !{!1380} +!1380 = distinct !{!1380, !1381, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE426_clEv: %agg.result"} +!1381 = distinct !{!1381, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE426_clEv"} +!1382 = !{!1383} +!1383 = distinct !{!1383, !1384, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} +!1384 = distinct !{!1384, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} +!1385 = distinct !{!1385, !103} +!1386 = distinct !{!1386, !103} +!1387 = distinct !{!1387, !103} +!1388 = !{i32 10813586} +!1389 = !{!1390} +!1390 = distinct !{!1390, !1391, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!1391 = distinct !{!1391, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} +!1392 = distinct !{!1392, !103} +!1393 = !{!1394} +!1394 = distinct !{!1394, !1395, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE56_clEv: %agg.result"} +!1395 = distinct !{!1395, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE56_clEv"} +!1396 = !{!1397} +!1397 = distinct !{!1397, !1398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE386_clEv: %agg.result"} +!1398 = distinct !{!1398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE386_clEv"} +!1399 = !{i32 10786475} +!1400 = !{!1401} +!1401 = distinct !{!1401, !1402, !"_Z13__invoke_asinIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1402 = distinct !{!1402, !"_Z13__invoke_asinIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1403 = !{!1404} +!1404 = distinct !{!1404, !1405, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESG_: %agg.result"} +!1405 = distinct !{!1405, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESG_"} +!1406 = !{i32 1281434} +!1407 = !{!1408, !129, i64 0} +!1408 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!1409 = !{!1410} +!1410 = distinct !{!1410, !1411, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE476_clEv: %agg.result"} +!1411 = distinct !{!1411, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE476_clEv"} +!1412 = !{!1413, !127, i64 0} +!1413 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300813EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !1414, i64 104} +!1414 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE3_"} +!1415 = !{!1416} +!1416 = distinct !{!1416, !1417, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE3_clES8_: %agg.result"} +!1417 = distinct !{!1417, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE3_clES8_"} +!1418 = distinct !{!1418, !103} +!1419 = !{!1420} +!1420 = distinct !{!1420, !1421, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE199_clEv: %agg.result"} +!1421 = distinct !{!1421, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE199_clEv"} +!1422 = !{!1423} +!1423 = distinct !{!1423, !1424, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} +!1424 = distinct !{!1424, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} +!1425 = distinct !{!1425, !103} +!1426 = !{!1427, !129, i64 0} +!1427 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!1428 = !{i32 1231804} +!1429 = !{!1430} +!1430 = distinct !{!1430, !1431, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE795_clEv: %agg.result"} +!1431 = distinct !{!1431, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE795_clEv"} +!1432 = !{!1433} +!1433 = distinct !{!1433, !1434, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE681_clEv: %agg.result"} +!1434 = distinct !{!1434, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE681_clEv"} +!1435 = !{!1436} +!1436 = distinct !{!1436, !1437, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE197_clEv: %agg.result"} +!1437 = distinct !{!1437, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE197_clEv"} +!1438 = !{i32 10788995} +!1439 = !{!1440} +!1440 = distinct !{!1440, !1441, !"_Z13__invoke_ceilIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1441 = distinct !{!1441, !"_Z13__invoke_ceilIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1442 = !{!1443} +!1443 = distinct !{!1443, !1444, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE151_clEv: %agg.result"} +!1444 = distinct !{!1444, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE151_clEv"} +!1445 = !{!1446} +!1446 = distinct !{!1446, !1447, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE250_clEv: %agg.result"} +!1447 = distinct !{!1447, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE250_clEv"} +!1448 = !{!1449} +!1449 = distinct !{!1449, !1450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE767_clEv: %agg.result"} +!1450 = distinct !{!1450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE767_clEv"} +!1451 = !{!1452} +!1452 = distinct !{!1452, !1453, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!1453 = distinct !{!1453, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} +!1454 = distinct !{!1454, !103} +!1455 = !{!1456} +!1456 = distinct !{!1456, !1457, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE11_clEv: %agg.result"} +!1457 = distinct !{!1457, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE11_clEv"} +!1458 = distinct !{!1458, !103} +!1459 = !{i32 10861359} +!1460 = !{!1461} +!1461 = distinct !{!1461, !1462, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!1462 = distinct !{!1462, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_S6_ET_T0_T1_T2_"} +!1463 = !{!1464} +!1464 = distinct !{!1464, !1465, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!1465 = distinct !{!1465, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!1466 = distinct !{!1466, !103} +!1467 = !{!1468} +!1468 = distinct !{!1468, !1469, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!1469 = distinct !{!1469, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!1470 = !{i32 10866808} +!1471 = !{!1472} +!1472 = distinct !{!1472, !1473, !"_Z14__invoke_ilogbIN4sycl3_V13vecIiLi2EEENS2_INS1_6detail9half_impl4halfELi2EEEET_T0_: %agg.result"} +!1473 = distinct !{!1473, !"_Z14__invoke_ilogbIN4sycl3_V13vecIiLi2EEENS2_INS1_6detail9half_impl4halfELi2EEEET_T0_"} +!1474 = distinct !{!1474, !103} +!1475 = distinct !{!1475, !103} +!1476 = !{i32 10513373} +!1477 = !{!1478, !129, i64 0} +!1478 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1479 = !{!1480, !129, i64 0} +!1480 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1481 = !{!1482} +!1482 = distinct !{!1482, !1483, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE200_clEv: %agg.result"} +!1483 = distinct !{!1483, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE200_clEv"} +!1484 = !{!1485} +!1485 = distinct !{!1485, !1486, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE820_clEv: %agg.result"} +!1486 = distinct !{!1486, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE820_clEv"} +!1487 = !{i32 332146} +!1488 = !{!1489, !129, i64 0} +!1489 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!1490 = !{!1489, !129, i64 8} +!1491 = !{i32 10790162} +!1492 = !{!1493} +!1493 = distinct !{!1493, !1494, !"_Z13__invoke_coshIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1494 = distinct !{!1494, !"_Z13__invoke_coshIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1495 = !{!1496} +!1496 = distinct !{!1496, !1497, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE491_clEv: %agg.result"} +!1497 = distinct !{!1497, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE491_clEv"} +!1498 = !{!1499} +!1499 = distinct !{!1499, !1500, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE670_clEv: %agg.result"} +!1500 = distinct !{!1500, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE670_clEv"} +!1501 = !{i32 7580572} +!1502 = !{i32 1394904} +!1503 = !{i32 10516133} +!1504 = !{!1505} +!1505 = distinct !{!1505, !1506, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE511_clEv: %agg.result"} +!1506 = distinct !{!1506, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE511_clEv"} +!1507 = !{i32 10855887} +!1508 = !{!1509} +!1509 = distinct !{!1509, !1510, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!1510 = distinct !{!1510, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!1511 = !{!1512} +!1512 = distinct !{!1512, !1513, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE419_clEv: %agg.result"} +!1513 = distinct !{!1513, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE419_clEv"} +!1514 = !{!1515} +!1515 = distinct !{!1515, !1516, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE276_clEv: %agg.result"} +!1516 = distinct !{!1516, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE276_clEv"} +!1517 = !{i32 10867336} +!1518 = !{!1519} +!1519 = distinct !{!1519, !1520, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_: %agg.result"} +!1520 = distinct !{!1520, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_"} +!1521 = !{!1522} +!1522 = distinct !{!1522, !1523, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!1523 = distinct !{!1523, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!1524 = !{i32 8371083} +!1525 = !{!1526} +!1526 = distinct !{!1526, !1527, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!1527 = distinct !{!1527, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!1528 = distinct !{!1528, !103} +!1529 = !{!1530} +!1530 = distinct !{!1530, !1531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE98_clEv: %agg.result"} +!1531 = distinct !{!1531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE98_clEv"} +!1532 = !{i32 10522534} +!1533 = !{i32 10792968} +!1534 = !{!1535} +!1535 = distinct !{!1535, !1536, !"_Z14__invoke_expm1IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1536 = distinct !{!1536, !"_Z14__invoke_expm1IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1537 = distinct !{!1537, !103} +!1538 = !{!1539, !129, i64 0} +!1539 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} +!1540 = !{!1541, !127, i64 0} +!1541 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300814EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !1542, i64 104} +!1542 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE4_"} +!1543 = !{!1544} +!1544 = distinct !{!1544, !1545, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE269_clEv: %agg.result"} +!1545 = distinct !{!1545, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE269_clEv"} +!1546 = !{!1547, !129, i64 0} +!1547 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1548 = !{!1549} +!1549 = distinct !{!1549, !1550, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE684_clEv: %agg.result"} +!1550 = distinct !{!1550, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE684_clEv"} +!1551 = !{i32 10500490} +!1552 = distinct !{!1552, !103} +!1553 = !{!1554} +!1554 = distinct !{!1554, !1555, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE677_clEv: %agg.result"} +!1555 = distinct !{!1555, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE677_clEv"} +!1556 = !{!1557} +!1557 = distinct !{!1557, !1558, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE474_clEv: %agg.result"} +!1558 = distinct !{!1558, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE474_clEv"} +!1559 = distinct !{!1559, !103} +!1560 = !{!1561} +!1561 = distinct !{!1561, !1562, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE3_clESD_: %agg.result"} +!1562 = distinct !{!1562, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE3_clESD_"} +!1563 = !{!1564} +!1564 = distinct !{!1564, !1565, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE147_clEv: %agg.result"} +!1565 = distinct !{!1565, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE147_clEv"} +!1566 = distinct !{!1566, !103} +!1567 = !{i32 8369765} +!1568 = distinct !{!1568, !103} +!1569 = !{i32 10498685} +!1570 = !{!1571} +!1571 = distinct !{!1571, !1572, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE84_clEv: %agg.result"} +!1572 = distinct !{!1572, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE84_clEv"} +!1573 = !{!1574} +!1574 = distinct !{!1574, !1575, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE745_clEv: %agg.result"} +!1575 = distinct !{!1575, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE745_clEv"} +!1576 = !{!1577} +!1577 = distinct !{!1577, !1578, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!1578 = distinct !{!1578, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!1579 = !{!1580} +!1580 = distinct !{!1580, !1581, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE488_clEv: %agg.result"} +!1581 = distinct !{!1581, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE488_clEv"} +!1582 = !{!1583} +!1583 = distinct !{!1583, !1584, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE464_clEv: %agg.result"} +!1584 = distinct !{!1584, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE464_clEv"} +!1585 = !{!1586} +!1586 = distinct !{!1586, !1587, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!1587 = distinct !{!1587, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!1588 = !{!1589} +!1589 = distinct !{!1589, !1590, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE320_clEv: %agg.result"} +!1590 = distinct !{!1590, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE320_clEv"} +!1591 = !{!1592, !129, i64 0} +!1592 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} +!1593 = distinct !{!1593, !103} +!1594 = !{!1595} +!1595 = distinct !{!1595, !1596, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!1596 = distinct !{!1596, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_S6_ET_T0_T1_T2_"} +!1597 = !{!1598} +!1598 = distinct !{!1598, !1599, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE150_clEv: %agg.result"} +!1599 = distinct !{!1599, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE150_clEv"} +!1600 = !{!254, !129, i64 8} +!1601 = !{!254, !129, i64 16} +!1602 = !{!254, !129, i64 24} +!1603 = !{!1604} +!1604 = distinct !{!1604, !1605, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE16_clEv: %agg.result"} +!1605 = distinct !{!1605, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE16_clEv"} +!1606 = !{!1607} +!1607 = distinct !{!1607, !1608, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!1608 = distinct !{!1608, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!1609 = !{!1610} +!1610 = distinct !{!1610, !1611, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!1611 = distinct !{!1611, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!1612 = !{!1613} +!1613 = distinct !{!1613, !1614, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE229_clEv: %agg.result"} +!1614 = distinct !{!1614, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE229_clEv"} +!1615 = distinct !{!1615, !103} +!1616 = !{!1617, !129, i64 0} +!1617 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1618 = !{!1619} +!1619 = distinct !{!1619, !1620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE203_clEv: %agg.result"} +!1620 = distinct !{!1620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE203_clEv"} +!1621 = !{!1622} +!1622 = distinct !{!1622, !1623, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!1623 = distinct !{!1623, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!1624 = !{!1625, !129, i64 0} +!1625 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} +!1626 = !{i32 10792005} +!1627 = !{!1628} +!1628 = distinct !{!1628, !1629, !"_Z13__invoke_exp2IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1629 = distinct !{!1629, !"_Z13__invoke_exp2IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1630 = !{!1631} +!1631 = distinct !{!1631, !1632, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE172_clEv: %agg.result"} +!1632 = distinct !{!1632, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE172_clEv"} +!1633 = !{!1634, !129, i64 0} +!1634 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEE", !129, i64 0} +!1635 = !{!1636} +!1636 = distinct !{!1636, !1637, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE733_clEv: %agg.result"} +!1637 = distinct !{!1637, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE733_clEv"} +!1638 = !{!1639} +!1639 = distinct !{!1639, !1640, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE711_clEv: %agg.result"} +!1640 = distinct !{!1640, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE711_clEv"} +!1641 = !{!697, !129, i64 8} +!1642 = !{!1643} +!1643 = distinct !{!1643, !1644, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_: %agg.result"} +!1644 = distinct !{!1644, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_"} +!1645 = !{!1646} +!1646 = distinct !{!1646, !1647, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE27_clEv: %agg.result"} +!1647 = distinct !{!1647, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE27_clEv"} +!1648 = !{!1649} +!1649 = distinct !{!1649, !1650, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!1650 = distinct !{!1650, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!1651 = !{!1652, !129, i64 0} +!1652 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!1653 = !{!1652, !129, i64 8} +!1654 = distinct !{!1654, !103} +!1655 = !{!1656} +!1656 = distinct !{!1656, !1657, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE41_clEv: %agg.result"} +!1657 = distinct !{!1657, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE41_clEv"} +!1658 = !{!1659} +!1659 = distinct !{!1659, !1660, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE556_clEv: %agg.result"} +!1660 = distinct !{!1660, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE556_clEv"} +!1661 = !{!1662} +!1662 = distinct !{!1662, !1663, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE436_clEv: %agg.result"} +!1663 = distinct !{!1663, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE436_clEv"} +!1664 = !{i32 8329881} +!1665 = !{!1666} +!1666 = distinct !{!1666, !1667, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} +!1667 = distinct !{!1667, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} +!1668 = !{!1669} +!1669 = distinct !{!1669, !1670, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_: %agg.result"} +!1670 = distinct !{!1670, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_"} +!1671 = !{!1672} +!1672 = distinct !{!1672, !1673, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE63_clEv: %agg.result"} +!1673 = distinct !{!1673, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE63_clEv"} +!1674 = !{!1675} +!1675 = distinct !{!1675, !1676, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!1676 = distinct !{!1676, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!1677 = !{!1678, !129, i64 0} +!1678 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} +!1679 = !{!1680} +!1680 = distinct !{!1680, !1681, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!1681 = distinct !{!1681, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!1682 = !{!1683} +!1683 = distinct !{!1683, !1684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE671_clEv: %agg.result"} +!1684 = distinct !{!1684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE671_clEv"} +!1685 = !{!1686} +!1686 = distinct !{!1686, !1687, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE471_clEv: %agg.result"} +!1687 = distinct !{!1687, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE471_clEv"} +!1688 = !{i32 -2140795989} +!1689 = !{!1690} +!1690 = distinct !{!1690, !1691, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE99_clEv: %agg.result"} +!1691 = distinct !{!1691, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE99_clEv"} +!1692 = !{!1693} +!1693 = distinct !{!1693, !1694, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE812_clEv: %agg.result"} +!1694 = distinct !{!1694, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE812_clEv"} +!1695 = distinct !{!1695, !103} +!1696 = !{i32 1260467} +!1697 = !{!1698} +!1698 = distinct !{!1698, !1699, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE117_clEv: %agg.result"} +!1699 = distinct !{!1699, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE117_clEv"} +!1700 = !{!1701} +!1701 = distinct !{!1701, !1702, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE107_clEv: %agg.result"} +!1702 = distinct !{!1702, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE107_clEv"} +!1703 = !{i32 10859249} +!1704 = !{!1705} +!1705 = distinct !{!1705, !1706, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!1706 = distinct !{!1706, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!1707 = !{i64 0, i64 68, !69} +!1708 = !{i32 10503577} +!1709 = distinct !{!1709, !103} +!1710 = !{!1711} +!1711 = distinct !{!1711, !1712, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE1_clESD_: %agg.result"} +!1712 = distinct !{!1712, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE1_clESD_"} +!1713 = distinct !{!1713, !103} +!1714 = distinct !{!1714, !103} +!1715 = !{i32 10505173} +!1716 = distinct !{!1716, !103} +!1717 = !{i32 10857160} +!1718 = !{!1719} +!1719 = distinct !{!1719, !1720, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!1720 = distinct !{!1720, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!1721 = !{!1722, !129, i64 0} +!1722 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!1723 = !{i32 10870725} +!1724 = !{!1725} +!1725 = distinct !{!1725, !1726, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!1726 = distinct !{!1726, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!1727 = !{!1728} +!1728 = distinct !{!1728, !1729, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE198_clEv: %agg.result"} +!1729 = distinct !{!1729, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE198_clEv"} +!1730 = !{!1731, !129, i64 0} +!1731 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} +!1732 = !{!1733} +!1733 = distinct !{!1733, !1734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE340_clEv: %agg.result"} +!1734 = distinct !{!1734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE340_clEv"} +!1735 = !{!1736} +!1736 = distinct !{!1736, !1737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE190_clEv: %agg.result"} +!1737 = distinct !{!1737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE190_clEv"} +!1738 = !{!1739} +!1739 = distinct !{!1739, !1740, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE223_clEv: %agg.result"} +!1740 = distinct !{!1740, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE223_clEv"} +!1741 = !{!1742} +!1742 = distinct !{!1742, !1743, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE165_clEv: %agg.result"} +!1743 = distinct !{!1743, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE165_clEv"} +!1744 = !{!1745} +!1745 = distinct !{!1745, !1746, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE732_clEv: %agg.result"} +!1746 = distinct !{!1746, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE732_clEv"} +!1747 = !{!1748} +!1748 = distinct !{!1748, !1749, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE502_clEv: %agg.result"} +!1749 = distinct !{!1749, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE502_clEv"} +!1750 = !{!1751} +!1751 = distinct !{!1751, !1752, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE518_clEv: %agg.result"} +!1752 = distinct !{!1752, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE518_clEv"} +!1753 = !{!1754} +!1754 = distinct !{!1754, !1755, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!1755 = distinct !{!1755, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!1756 = !{!1757, !129, i64 0} +!1757 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} +!1758 = !{!1759} +!1759 = distinct !{!1759, !1760, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!1760 = distinct !{!1760, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!1761 = !{!1762} +!1762 = distinct !{!1762, !1763, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!1763 = distinct !{!1763, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!1764 = !{!1765, !129, i64 0} +!1765 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} +!1766 = !{i32 10793808} +!1767 = !{!1768} +!1768 = distinct !{!1768, !1769, !"_Z14__invoke_floorIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1769 = distinct !{!1769, !"_Z14__invoke_floorIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1770 = distinct !{!1770, !103} +!1771 = !{!1772, !129, i64 0} +!1772 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} +!1773 = !{!1774} +!1774 = distinct !{!1774, !1775, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_: %agg.result"} +!1775 = distinct !{!1775, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_"} +!1776 = distinct !{!1776, !103} +!1777 = !{i32 5940556} +!1778 = !{!1779} +!1779 = distinct !{!1779, !1780, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE754_clEv: %agg.result"} +!1780 = distinct !{!1780, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE754_clEv"} +!1781 = distinct !{!1781, !103} +!1782 = distinct !{!1782, !103} +!1783 = !{!1784} +!1784 = distinct !{!1784, !1785, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE71_clEv: %agg.result"} +!1785 = distinct !{!1785, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE71_clEv"} +!1786 = !{!1787} +!1787 = distinct !{!1787, !1788, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE85_clEv: %agg.result"} +!1788 = distinct !{!1788, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE85_clEv"} +!1789 = !{i32 1192594} +!1790 = !{!1791, !129, i64 0} +!1791 = !{!"_ZTSZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1792 = !{!1791, !129, i64 8} +!1793 = !{!1791, !129, i64 16} +!1794 = !{!1791, !129, i64 24} +!1795 = !{!1796} +!1796 = distinct !{!1796, !1797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE618_clEv: %agg.result"} +!1797 = distinct !{!1797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE618_clEv"} +!1798 = distinct !{!1798, !103} +!1799 = !{!1800, !129, i64 0} +!1800 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} +!1801 = !{!1802} +!1802 = distinct !{!1802, !1803, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE521_clEv: %agg.result"} +!1803 = distinct !{!1803, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE521_clEv"} +!1804 = distinct !{!1804, !103} +!1805 = !{!1806} +!1806 = distinct !{!1806, !1807, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} +!1807 = distinct !{!1807, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} +!1808 = !{!1809} +!1809 = distinct !{!1809, !1810, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE280_clEv: %agg.result"} +!1810 = distinct !{!1810, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE280_clEv"} +!1811 = distinct !{!1811, !103} +!1812 = !{!1813} +!1813 = distinct !{!1813, !1814, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE14_clEv: %agg.result"} +!1814 = distinct !{!1814, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE14_clEv"} +!1815 = !{!1816, !129, i64 0} +!1816 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!1817 = !{!1818} +!1818 = distinct !{!1818, !1819, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!1819 = distinct !{!1819, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!1820 = !{!1821} +!1821 = distinct !{!1821, !1822, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE184_clEv: %agg.result"} +!1822 = distinct !{!1822, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE184_clEv"} +!1823 = !{!1824} +!1824 = distinct !{!1824, !1825, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE431_clEv: %agg.result"} +!1825 = distinct !{!1825, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE431_clEv"} +!1826 = distinct !{!1826, !103} +!1827 = !{!1828} +!1828 = distinct !{!1828, !1829, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE231_clEv: %agg.result"} +!1829 = distinct !{!1829, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE231_clEv"} +!1830 = !{!1831} +!1831 = distinct !{!1831, !1832, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE138_clEv: %agg.result"} +!1832 = distinct !{!1832, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE138_clEv"} +!1833 = !{!1834} +!1834 = distinct !{!1834, !1835, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE304_clEv: %agg.result"} +!1835 = distinct !{!1835, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE304_clEv"} +!1836 = !{!1837} +!1837 = distinct !{!1837, !1838, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE142_clEv: %agg.result"} +!1838 = distinct !{!1838, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE142_clEv"} +!1839 = distinct !{!1839, !103} +!1840 = !{!1841} +!1841 = distinct !{!1841, !1842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE18_clEv: %agg.result"} +!1842 = distinct !{!1842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE18_clEv"} +!1843 = !{!1844} +!1844 = distinct !{!1844, !1845, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE400_clEv: %agg.result"} +!1845 = distinct !{!1845, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE400_clEv"} +!1846 = !{!1847, !129, i64 0} +!1847 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} +!1848 = distinct !{!1848, !103} +!1849 = !{!1850} +!1850 = distinct !{!1850, !1851, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE530_clEv: %agg.result"} +!1851 = distinct !{!1851, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE530_clEv"} +!1852 = !{i32 10881504} +!1853 = !{!1854} +!1854 = distinct !{!1854, !1855, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!1855 = distinct !{!1855, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!1856 = !{!1857} +!1857 = distinct !{!1857, !1858, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE596_clEv: %agg.result"} +!1858 = distinct !{!1858, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE596_clEv"} +!1859 = distinct !{!1859, !103} +!1860 = !{i32 10880983} +!1861 = !{!1862} +!1862 = distinct !{!1862, !1863, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!1863 = distinct !{!1863, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!1864 = !{!1865} +!1865 = distinct !{!1865, !1866, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE2_clESA_: %agg.result"} +!1866 = distinct !{!1866, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE2_clESA_"} +!1867 = !{!1868} +!1868 = distinct !{!1868, !1869, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!1869 = distinct !{!1869, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_S6_ET_T0_T1_T2_"} +!1870 = !{!1871} +!1871 = distinct !{!1871, !1872, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!1872 = distinct !{!1872, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!1873 = !{!1874, !129, i64 0} +!1874 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1875 = !{!1874, !129, i64 8} +!1876 = !{!1874, !129, i64 16} +!1877 = !{!1874, !129, i64 24} +!1878 = distinct !{!1878, !103} +!1879 = !{!1880} +!1880 = distinct !{!1880, !1881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE299_clEv: %agg.result"} +!1881 = distinct !{!1881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE299_clEv"} +!1882 = !{!1883} +!1883 = distinct !{!1883, !1884, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE658_clEv: %agg.result"} +!1884 = distinct !{!1884, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE658_clEv"} +!1885 = !{!1886} +!1886 = distinct !{!1886, !1887, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE114_clEv: %agg.result"} +!1887 = distinct !{!1887, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE114_clEv"} +!1888 = !{!1889} +!1889 = distinct !{!1889, !1890, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} +!1890 = distinct !{!1890, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} +!1891 = !{i32 10515563} +!1892 = distinct !{!1892, !103} +!1893 = !{!1894} +!1894 = distinct !{!1894, !1895, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE540_clEv: %agg.result"} +!1895 = distinct !{!1895, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE540_clEv"} +!1896 = !{i32 10511233} +!1897 = !{!1898} +!1898 = distinct !{!1898, !1899, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!1899 = distinct !{!1899, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} +!1900 = !{!1901, !129, i64 0} +!1901 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1902 = !{!1901, !129, i64 8} +!1903 = !{!1901, !129, i64 16} +!1904 = !{!1901, !129, i64 24} +!1905 = !{i32 10785665} +!1906 = !{!1907} +!1907 = distinct !{!1907, !1908, !"_Z13__invoke_acosIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!1908 = distinct !{!1908, !"_Z13__invoke_acosIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!1909 = !{!1910} +!1910 = distinct !{!1910, !1911, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE252_clEv: %agg.result"} +!1911 = distinct !{!1911, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE252_clEv"} +!1912 = !{!1913} +!1913 = distinct !{!1913, !1914, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE249_clEv: %agg.result"} +!1914 = distinct !{!1914, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE249_clEv"} +!1915 = distinct !{!1915, !103} +!1916 = !{!1917} +!1917 = distinct !{!1917, !1918, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE388_clEv: %agg.result"} +!1918 = distinct !{!1918, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE388_clEv"} +!1919 = !{!1920} +!1920 = distinct !{!1920, !1921, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE245_clEv: %agg.result"} +!1921 = distinct !{!1921, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE245_clEv"} +!1922 = !{i32 7650258} +!1923 = !{!1924} +!1924 = distinct !{!1924, !1925, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE54_clEv: %agg.result"} +!1925 = distinct !{!1925, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE54_clEv"} +!1926 = !{!1927} +!1927 = distinct !{!1927, !1928, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE785_clEv: %agg.result"} +!1928 = distinct !{!1928, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE785_clEv"} +!1929 = !{!1930} +!1930 = distinct !{!1930, !1931, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE_clESD_: %agg.result"} +!1931 = distinct !{!1931, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE_clESD_"} +!1932 = !{!1933} +!1933 = distinct !{!1933, !1934, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!1934 = distinct !{!1934, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!1935 = distinct !{!1935, !103} +!1936 = distinct !{!1936, !103} +!1937 = !{!1938} +!1938 = distinct !{!1938, !1939, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE693_clEv: %agg.result"} +!1939 = distinct !{!1939, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE693_clEv"} +!1940 = distinct !{!1940, !103} +!1941 = !{!1942} +!1942 = distinct !{!1942, !1943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE701_clEv: %agg.result"} +!1943 = distinct !{!1943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE701_clEv"} +!1944 = !{!1945} +!1945 = distinct !{!1945, !1946, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE202_clEv: %agg.result"} +!1946 = distinct !{!1946, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE202_clEv"} +!1947 = !{i32 8560230} +!1948 = !{!1949} +!1949 = distinct !{!1949, !1950, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE1_clESA_: %agg.result"} +!1950 = distinct !{!1950, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE1_clESA_"} +!1951 = !{!1952} +!1952 = distinct !{!1952, !1953, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!1953 = distinct !{!1953, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!1954 = !{!1955} +!1955 = distinct !{!1955, !1956, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE603_clEv: %agg.result"} +!1956 = distinct !{!1956, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE603_clEv"} +!1957 = !{!1958} +!1958 = distinct !{!1958, !1959, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!1959 = distinct !{!1959, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_S6_ET_T0_T1_T2_"} +!1960 = distinct !{!1960, !103} +!1961 = !{!1962, !129, i64 0} +!1962 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} +!1963 = !{!1964} +!1964 = distinct !{!1964, !1965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE519_clEv: %agg.result"} +!1965 = distinct !{!1965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE519_clEv"} +!1966 = !{!1967} +!1967 = distinct !{!1967, !1968, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE29_clEv: %agg.result"} +!1968 = distinct !{!1968, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE29_clEv"} +!1969 = !{!1970} +!1970 = distinct !{!1970, !1971, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE686_clEv: %agg.result"} +!1971 = distinct !{!1971, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE686_clEv"} +!1972 = !{!1973} +!1973 = distinct !{!1973, !1974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE232_clEv: %agg.result"} +!1974 = distinct !{!1974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE232_clEv"} +!1975 = !{!1976, !129, i64 0} +!1976 = !{!"_ZTSZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!1977 = !{!1978} +!1978 = distinct !{!1978, !1979, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE35_clEv: %agg.result"} +!1979 = distinct !{!1979, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE35_clEv"} +!1980 = !{!1981, !129, i64 0} +!1981 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EEE", !129, i64 0} +!1982 = !{!1983, !129, i64 0} +!1983 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} +!1984 = !{!1985, !129, i64 0} +!1985 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!1986 = !{!1987, !129, i64 0} +!1987 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} +!1988 = !{!1989} +!1989 = distinct !{!1989, !1990, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE590_clEv: %agg.result"} +!1990 = distinct !{!1990, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE590_clEv"} +!1991 = !{!1992} +!1992 = distinct !{!1992, !1993, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!1993 = distinct !{!1993, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!1994 = distinct !{!1994, !103} +!1995 = !{!1996} +!1996 = distinct !{!1996, !1997, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE513_clEv: %agg.result"} +!1997 = distinct !{!1997, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE513_clEv"} +!1998 = !{!1999, !129, i64 0} +!1999 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} +!2000 = !{!2001} +!2001 = distinct !{!2001, !2002, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE477_clEv: %agg.result"} +!2002 = distinct !{!2002, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE477_clEv"} +!2003 = !{!2004} +!2004 = distinct !{!2004, !2005, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!2005 = distinct !{!2005, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!2006 = !{!1355, !129, i64 8} +!2007 = !{!1355, !129, i64 16} +!2008 = !{i32 8560823} +!2009 = !{!2010} +!2010 = distinct !{!2010, !2011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE443_clEv: %agg.result"} +!2011 = distinct !{!2011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE443_clEv"} +!2012 = !{!2013} +!2013 = distinct !{!2013, !2014, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!2014 = distinct !{!2014, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!2015 = !{!2016} +!2016 = distinct !{!2016, !2017, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE52_clEv: %agg.result"} +!2017 = distinct !{!2017, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE52_clEv"} +!2018 = !{i32 10855126} +!2019 = !{!2020} +!2020 = distinct !{!2020, !2021, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!2021 = distinct !{!2021, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!2022 = !{i32 1300351} +!2023 = !{!2024} +!2024 = distinct !{!2024, !2025, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} +!2025 = distinct !{!2025, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} +!2026 = distinct !{!2026, !103} +!2027 = distinct !{!2027, !103} +!2028 = distinct !{!2028, !103} +!2029 = distinct !{!2029, !103} +!2030 = !{!2031} +!2031 = distinct !{!2031, !2032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE659_clEv: %agg.result"} +!2032 = distinct !{!2032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE659_clEv"} +!2033 = !{!2034} +!2034 = distinct !{!2034, !2035, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE327_clEv: %agg.result"} +!2035 = distinct !{!2035, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE327_clEv"} +!2036 = !{!2037} +!2037 = distinct !{!2037, !2038, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE486_clEv: %agg.result"} +!2038 = distinct !{!2038, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE486_clEv"} +!2039 = !{!2040} +!2040 = distinct !{!2040, !2041, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE498_clEv: %agg.result"} +!2041 = distinct !{!2041, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE498_clEv"} +!2042 = !{!2043, !129, i64 0} +!2043 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2044 = !{!2045, !129, i64 0} +!2045 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!2046 = distinct !{!2046, !103} +!2047 = !{!2048} +!2048 = distinct !{!2048, !2049, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!2049 = distinct !{!2049, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!2050 = !{!2051} +!2051 = distinct !{!2051, !2052, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE541_clEv: %agg.result"} +!2052 = distinct !{!2052, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE541_clEv"} +!2053 = !{!2054, !129, i64 0} +!2054 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2055 = !{!2054, !129, i64 8} +!2056 = !{!2057} +!2057 = distinct !{!2057, !2058, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_: %agg.result"} +!2058 = distinct !{!2058, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_"} +!2059 = !{!2060} +!2060 = distinct !{!2060, !2061, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE78_clEv: %agg.result"} +!2061 = distinct !{!2061, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE78_clEv"} +!2062 = !{!2063} +!2063 = distinct !{!2063, !2064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE651_clEv: %agg.result"} +!2064 = distinct !{!2064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE651_clEv"} +!2065 = !{!2066, !129, i64 0} +!2066 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2067 = !{!2066, !129, i64 8} +!2068 = distinct !{!2068, !103} +!2069 = !{!2070} +!2070 = distinct !{!2070, !2071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE222_clEv: %agg.result"} +!2071 = distinct !{!2071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE222_clEv"} +!2072 = !{!2073, !129, i64 0} +!2073 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!2074 = !{!2073, !129, i64 8} +!2075 = !{!2073, !129, i64 16} +!2076 = !{!2073, !129, i64 24} +!2077 = !{!2078} +!2078 = distinct !{!2078, !2079, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE696_clEv: %agg.result"} +!2079 = distinct !{!2079, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE696_clEv"} +!2080 = !{!1480, !129, i64 8} +!2081 = !{!1480, !129, i64 16} +!2082 = !{!1480, !129, i64 24} +!2083 = !{!2084} +!2084 = distinct !{!2084, !2085, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!2085 = distinct !{!2085, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!2086 = !{!2087} +!2087 = distinct !{!2087, !2088, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE482_clEv: %agg.result"} +!2088 = distinct !{!2088, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE482_clEv"} +!2089 = !{!2090} +!2090 = distinct !{!2090, !2091, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!2091 = distinct !{!2091, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!2092 = !{!2093} +!2093 = distinct !{!2093, !2094, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE282_clEv: %agg.result"} +!2094 = distinct !{!2094, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE282_clEv"} +!2095 = !{!1028, !129, i64 8} +!2096 = !{!1028, !129, i64 16} +!2097 = !{!1028, !129, i64 24} +!2098 = !{!2099, !129, i64 0} +!2099 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2100 = !{!2099, !129, i64 8} +!2101 = !{!2102, !129, i64 24} +!2102 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!2103 = !{!2104, !129, i64 0} +!2104 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!2105 = !{i32 10807087} +!2106 = !{!2107} +!2107 = distinct !{!2107, !2108, !"_Z13__invoke_pownIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_: %agg.result"} +!2108 = distinct !{!2108, !"_Z13__invoke_pownIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_"} +!2109 = !{i32 -2140795284} +!2110 = !{!2111} +!2111 = distinct !{!2111, !2112, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE75_clEv: %agg.result"} +!2112 = distinct !{!2112, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE75_clEv"} +!2113 = distinct !{!2113, !103} +!2114 = !{i32 10495406} +!2115 = !{i32 10856808} +!2116 = !{!2117} +!2117 = distinct !{!2117, !2118, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!2118 = distinct !{!2118, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!2119 = !{!2120} +!2120 = distinct !{!2120, !2121, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE616_clEv: %agg.result"} +!2121 = distinct !{!2121, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE616_clEv"} +!2122 = !{!2123} +!2123 = distinct !{!2123, !2124, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!2124 = distinct !{!2124, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!2125 = !{!2126} +!2126 = distinct !{!2126, !2127, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!2127 = distinct !{!2127, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!2128 = !{!2129} +!2129 = distinct !{!2129, !2130, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE700_clEv: %agg.result"} +!2130 = distinct !{!2130, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE700_clEv"} +!2131 = distinct !{!2131, !103} +!2132 = distinct !{!2132, !103} +!2133 = !{!2134, !129, i64 0} +!2134 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} +!2135 = distinct !{!2135, !103} +!2136 = !{!2137} +!2137 = distinct !{!2137, !2138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} +!2138 = distinct !{!2138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} +!2139 = !{!2140} +!2140 = distinct !{!2140, !2141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE593_clEv: %agg.result"} +!2141 = distinct !{!2141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE593_clEv"} +!2142 = distinct !{!2142, !103} +!2143 = distinct !{!2143, !103} +!2144 = !{!2145} +!2145 = distinct !{!2145, !2146, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE371_clEv: %agg.result"} +!2146 = distinct !{!2146, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE371_clEv"} +!2147 = distinct !{!2147, !103} +!2148 = distinct !{!2148, !103} +!2149 = !{!2150} +!2150 = distinct !{!2150, !2151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE247_clEv: %agg.result"} +!2151 = distinct !{!2151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE247_clEv"} +!2152 = distinct !{!2152, !103} +!2153 = distinct !{!2153, !103} +!2154 = !{!2155} +!2155 = distinct !{!2155, !2156, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!2156 = distinct !{!2156, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!2157 = !{!2158} +!2158 = distinct !{!2158, !2159, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!2159 = distinct !{!2159, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!2160 = distinct !{!2160, !103} +!2161 = !{!2162} +!2162 = distinct !{!2162, !2163, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE234_clEv: %agg.result"} +!2163 = distinct !{!2163, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE234_clEv"} +!2164 = !{!2165} +!2165 = distinct !{!2165, !2166, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE4_clESB_: %agg.result"} +!2166 = distinct !{!2166, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE4_clESB_"} +!2167 = distinct !{!2167, !103} +!2168 = distinct !{!2168, !103} +!2169 = !{!2170} +!2170 = distinct !{!2170, !2171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE736_clEv: %agg.result"} +!2171 = distinct !{!2171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE736_clEv"} +!2172 = !{!2173} +!2173 = distinct !{!2173, !2174, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!2174 = distinct !{!2174, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!2175 = !{!2176} +!2176 = distinct !{!2176, !2177, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE770_clEv: %agg.result"} +!2177 = distinct !{!2177, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE770_clEv"} +!2178 = !{!2179} +!2179 = distinct !{!2179, !2180, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE86_clEv: %agg.result"} +!2180 = distinct !{!2180, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE86_clEv"} +!2181 = !{!2182} +!2182 = distinct !{!2182, !2183, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!2183 = distinct !{!2183, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!2184 = !{!2185} +!2185 = distinct !{!2185, !2186, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE314_clEv: %agg.result"} +!2186 = distinct !{!2186, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE314_clEv"} +!2187 = !{!2188} +!2188 = distinct !{!2188, !2189, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE806_clEv: %agg.result"} +!2189 = distinct !{!2189, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE806_clEv"} +!2190 = !{!2191} +!2191 = distinct !{!2191, !2192, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE367_clEv: %agg.result"} +!2192 = distinct !{!2192, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE367_clEv"} +!2193 = !{!2194} +!2194 = distinct !{!2194, !2195, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE632_clEv: %agg.result"} +!2195 = distinct !{!2195, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE632_clEv"} +!2196 = !{!2197} +!2197 = distinct !{!2197, !2198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE442_clEv: %agg.result"} +!2198 = distinct !{!2198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE442_clEv"} +!2199 = !{!2200} +!2200 = distinct !{!2200, !2201, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE64_clEv: %agg.result"} +!2201 = distinct !{!2201, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE64_clEv"} +!2202 = distinct !{!2202, !103} +!2203 = !{!2204} +!2204 = distinct !{!2204, !2205, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE274_clEv: %agg.result"} +!2205 = distinct !{!2205, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE274_clEv"} +!2206 = !{!2207} +!2207 = distinct !{!2207, !2208, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} +!2208 = distinct !{!2208, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} +!2209 = !{!1617, !129, i64 8} +!2210 = !{!1617, !129, i64 16} +!2211 = !{!1617, !129, i64 24} +!2212 = !{i32 7649374} +!2213 = !{!2214} +!2214 = distinct !{!2214, !2215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE0_clESD_: %agg.result"} +!2215 = distinct !{!2215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE0_clESD_"} +!2216 = !{i32 1294512} +!2217 = !{!2218, !129, i64 24} +!2218 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!2219 = !{!1408, !129, i64 8} +!2220 = !{!2221} +!2221 = distinct !{!2221, !2222, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE370_clEv: %agg.result"} +!2222 = distinct !{!2222, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE370_clEv"} +!2223 = !{!2224} +!2224 = distinct !{!2224, !2225, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!2225 = distinct !{!2225, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!2226 = distinct !{!2226, !103} +!2227 = !{!2228} +!2228 = distinct !{!2228, !2229, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!2229 = distinct !{!2229, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!2230 = !{!2231} +!2231 = distinct !{!2231, !2232, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!2232 = distinct !{!2232, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!2233 = !{i32 12009896} +!2234 = !{!2235} +!2235 = distinct !{!2235, !2236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE95_clEv: %agg.result"} +!2236 = distinct !{!2236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE95_clEv"} +!2237 = !{!2238} +!2238 = distinct !{!2238, !2239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE149_clEv: %agg.result"} +!2239 = distinct !{!2239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE149_clEv"} +!2240 = !{!2241} +!2241 = distinct !{!2241, !2242, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE81_clEv: %agg.result"} +!2242 = distinct !{!2242, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE81_clEv"} +!2243 = !{!2244} +!2244 = distinct !{!2244, !2245, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_: %agg.result"} +!2245 = distinct !{!2245, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_"} +!2246 = !{!2247} +!2247 = distinct !{!2247, !2248, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!2248 = distinct !{!2248, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!2249 = !{!2250} +!2250 = distinct !{!2250, !2251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE281_clEv: %agg.result"} +!2251 = distinct !{!2251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE281_clEv"} +!2252 = !{i32 1253733} +!2253 = !{!2254} +!2254 = distinct !{!2254, !2255, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!2255 = distinct !{!2255, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!2256 = distinct !{!2256, !103} +!2257 = !{!2258} +!2258 = distinct !{!2258, !2259, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE183_clEv: %agg.result"} +!2259 = distinct !{!2259, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE183_clEv"} +!2260 = distinct !{!2260, !103} +!2261 = distinct !{!2261, !103} +!2262 = !{!2263, !129, i64 0} +!2263 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2264 = !{!2265, !129, i64 0} +!2265 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} +!2266 = !{i32 10808048} +!2267 = !{!2268} +!2268 = distinct !{!2268, !2269, !"_Z18__invoke_remainderIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!2269 = distinct !{!2269, !"_Z18__invoke_remainderIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!2270 = !{!2271} +!2271 = distinct !{!2271, !2272, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE272_clEv: %agg.result"} +!2272 = distinct !{!2272, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE272_clEv"} +!2273 = !{i32 10883608} +!2274 = !{!2275} +!2275 = distinct !{!2275, !2276, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!2276 = distinct !{!2276, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!2277 = !{i32 5939844} +!2278 = !{!2279} +!2279 = distinct !{!2279, !2280, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_: %agg.result"} +!2280 = distinct !{!2280, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_"} +!2281 = !{!2282} +!2282 = distinct !{!2282, !2283, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!2283 = distinct !{!2283, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!2284 = !{!2285} +!2285 = distinct !{!2285, !2286, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE65_clEv: %agg.result"} +!2286 = distinct !{!2286, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE65_clEv"} +!2287 = !{!2288, !129, i64 0} +!2288 = !{!"_ZTSZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2289 = !{!2288, !129, i64 8} +!2290 = !{!2291} +!2291 = distinct !{!2291, !2292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} +!2292 = distinct !{!2292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} +!2293 = !{i32 10492461} +!2294 = !{i32 10789304} +!2295 = !{!2296} +!2296 = distinct !{!2296, !2297, !"_Z17__invoke_copysignIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!2297 = distinct !{!2297, !"_Z17__invoke_copysignIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!2298 = distinct !{!2298, !103} +!2299 = !{!2300, !129, i64 0} +!2300 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEE", !129, i64 0} +!2301 = !{!2302} +!2302 = distinct !{!2302, !2303, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE82_clEv: %agg.result"} +!2303 = distinct !{!2303, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE82_clEv"} +!2304 = !{!2305} +!2305 = distinct !{!2305, !2306, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE402_clEv: %agg.result"} +!2306 = distinct !{!2306, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE402_clEv"} +!2307 = !{!2308} +!2308 = distinct !{!2308, !2309, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE537_clEv: %agg.result"} +!2309 = distinct !{!2309, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE537_clEv"} +!2310 = !{!2311} +!2311 = distinct !{!2311, !2312, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE4_clES8_: %agg.result"} +!2312 = distinct !{!2312, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE4_clES8_"} +!2313 = !{!2314} +!2314 = distinct !{!2314, !2315, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!2315 = distinct !{!2315, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!2316 = !{i32 1235230} +!2317 = !{!2318} +!2318 = distinct !{!2318, !2319, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE2_clESB_: %agg.result"} +!2319 = distinct !{!2319, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE2_clESB_"} +!2320 = !{!2321} +!2321 = distinct !{!2321, !2322, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE20_clEv: %agg.result"} +!2322 = distinct !{!2322, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE20_clEv"} +!2323 = !{!2324} +!2324 = distinct !{!2324, !2325, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!2325 = distinct !{!2325, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!2326 = !{!2327} +!2327 = distinct !{!2327, !2328, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE604_clEv: %agg.result"} +!2328 = distinct !{!2328, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE604_clEv"} +!2329 = !{!2330} +!2330 = distinct !{!2330, !2331, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE660_clEv: %agg.result"} +!2331 = distinct !{!2331, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE660_clEv"} +!2332 = !{!2333} +!2333 = distinct !{!2333, !2334, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE154_clEv: %agg.result"} +!2334 = distinct !{!2334, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE154_clEv"} +!2335 = !{!2336} +!2336 = distinct !{!2336, !2337, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE226_clEv: %agg.result"} +!2337 = distinct !{!2337, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE226_clEv"} +!2338 = distinct !{!2338, !103} +!2339 = !{i32 10809922} +!2340 = !{!2341} +!2341 = distinct !{!2341, !2342, !"_Z13__invoke_rintIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!2342 = distinct !{!2342, !"_Z13__invoke_rintIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!2343 = distinct !{!2343, !103} +!2344 = !{!2345} +!2345 = distinct !{!2345, !2346, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE594_clEv: %agg.result"} +!2346 = distinct !{!2346, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE594_clEv"} +!2347 = !{!2348} +!2348 = distinct !{!2348, !2349, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} +!2349 = distinct !{!2349, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} +!2350 = distinct !{!2350, !103} +!2351 = !{!2352} +!2352 = distinct !{!2352, !2353, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE579_clEv: %agg.result"} +!2353 = distinct !{!2353, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE579_clEv"} +!2354 = !{i32 10816898} +!2355 = !{!2356} +!2356 = distinct !{!2356, !2357, !"_Z14__invoke_truncIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!2357 = distinct !{!2357, !"_Z14__invoke_truncIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!2358 = !{!2359} +!2359 = distinct !{!2359, !2360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE132_clEv: %agg.result"} +!2360 = distinct !{!2360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE132_clEv"} +!2361 = !{!2362} +!2362 = distinct !{!2362, !2363, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE703_clEv: %agg.result"} +!2363 = distinct !{!2363, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE703_clEv"} +!2364 = distinct !{!2364, !103} +!2365 = !{!2366} +!2366 = distinct !{!2366, !2367, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE578_clEv: %agg.result"} +!2367 = distinct !{!2367, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE578_clEv"} +!2368 = !{!2369} +!2369 = distinct !{!2369, !2370, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE267_clEv: %agg.result"} +!2370 = distinct !{!2370, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE267_clEv"} +!2371 = !{!2372} +!2372 = distinct !{!2372, !2373, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE15_clEv: %agg.result"} +!2373 = distinct !{!2373, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE15_clEv"} +!2374 = !{!2375} +!2375 = distinct !{!2375, !2376, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE776_clEv: %agg.result"} +!2376 = distinct !{!2376, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE776_clEv"} +!2377 = distinct !{!2377, !103} +!2378 = !{!2379} +!2379 = distinct !{!2379, !2380, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE504_clEv: %agg.result"} +!2380 = distinct !{!2380, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE504_clEv"} +!2381 = !{!2382} +!2382 = distinct !{!2382, !2383, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE2_clESD_: %agg.result"} +!2383 = distinct !{!2383, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE2_clESD_"} +!2384 = !{!2385} +!2385 = distinct !{!2385, !2386, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE324_clEv: %agg.result"} +!2386 = distinct !{!2386, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE324_clEv"} +!2387 = !{!2388} +!2388 = distinct !{!2388, !2389, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE624_clEv: %agg.result"} +!2389 = distinct !{!2389, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE624_clEv"} +!2390 = !{!2391} +!2391 = distinct !{!2391, !2392, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!2392 = distinct !{!2392, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!2393 = !{!2394} +!2394 = distinct !{!2394, !2395, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE729_clEv: %agg.result"} +!2395 = distinct !{!2395, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE729_clEv"} +!2396 = !{!2397} +!2397 = distinct !{!2397, !2398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE423_clEv: %agg.result"} +!2398 = distinct !{!2398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE423_clEv"} +!2399 = !{!2400} +!2400 = distinct !{!2400, !2401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE683_clEv: %agg.result"} +!2401 = distinct !{!2401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE683_clEv"} +!2402 = !{!2403} +!2403 = distinct !{!2403, !2404, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE505_clEv: %agg.result"} +!2404 = distinct !{!2404, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE505_clEv"} +!2405 = !{!2406, !129, i64 0} +!2406 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!2407 = !{!2408} +!2408 = distinct !{!2408, !2409, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE625_clEv: %agg.result"} +!2409 = distinct !{!2409, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE625_clEv"} +!2410 = !{!2411} +!2411 = distinct !{!2411, !2412, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!2412 = distinct !{!2412, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} +!2413 = !{i32 10490189} +!2414 = distinct !{!2414, !103} +!2415 = !{!2416, !129, i64 0} +!2416 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2417 = !{!2416, !129, i64 8} +!2418 = !{!2419} +!2419 = distinct !{!2419, !2420, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE709_clEv: %agg.result"} +!2420 = distinct !{!2420, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE709_clEv"} +!2421 = !{!2422} +!2422 = distinct !{!2422, !2423, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!2423 = distinct !{!2423, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!2424 = distinct !{!2424, !103} +!2425 = !{!2426} +!2426 = distinct !{!2426, !2427, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE569_clEv: %agg.result"} +!2427 = distinct !{!2427, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE569_clEv"} +!2428 = !{!2429} +!2429 = distinct !{!2429, !2430, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE689_clEv: %agg.result"} +!2430 = distinct !{!2430, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE689_clEv"} +!2431 = !{!2432} +!2432 = distinct !{!2432, !2433, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!2433 = distinct !{!2433, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!2434 = distinct !{!2434, !103} +!2435 = !{i32 6026090} +!2436 = !{!2437} +!2437 = distinct !{!2437, !2438, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE555_clEv: %agg.result"} +!2438 = distinct !{!2438, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE555_clEv"} +!2439 = distinct !{!2439, !103} +!2440 = !{!2441} +!2441 = distinct !{!2441, !2442, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!2442 = distinct !{!2442, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!2443 = !{!2444} +!2444 = distinct !{!2444, !2445, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!2445 = distinct !{!2445, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!2446 = distinct !{!2446, !103} +!2447 = distinct !{!2447, !103} +!2448 = !{i32 8451034} +!2449 = !{i32 6672373} +!2450 = !{!2451} +!2451 = distinct !{!2451, !2452, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE626_clEv: %agg.result"} +!2452 = distinct !{!2452, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE626_clEv"} +!2453 = !{!2454} +!2454 = distinct !{!2454, !2455, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE244_clEv: %agg.result"} +!2455 = distinct !{!2455, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE244_clEv"} +!2456 = !{!2457} +!2457 = distinct !{!2457, !2458, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE757_clEv: %agg.result"} +!2458 = distinct !{!2458, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE757_clEv"} +!2459 = !{!2460} +!2460 = distinct !{!2460, !2461, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE798_clEv: %agg.result"} +!2461 = distinct !{!2461, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE798_clEv"} +!2462 = !{!2463} +!2463 = distinct !{!2463, !2464, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE187_clEv: %agg.result"} +!2464 = distinct !{!2464, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE187_clEv"} +!2465 = !{i32 -2140803022} +!2466 = !{!2467, !129, i64 0} +!2467 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2468 = distinct !{!2468, !103} +!2469 = !{!2470} +!2470 = distinct !{!2470, !2471, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE17_clEv: %agg.result"} +!2471 = distinct !{!2471, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE17_clEv"} +!2472 = !{!2473} +!2473 = distinct !{!2473, !2474, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!2474 = distinct !{!2474, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!2475 = !{!2476} +!2476 = distinct !{!2476, !2477, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE803_clEv: %agg.result"} +!2477 = distinct !{!2477, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE803_clEv"} +!2478 = !{i32 7649556} +!2479 = !{!2480, !129, i64 0} +!2480 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} +!2481 = !{i32 10788731} +!2482 = !{!2483} +!2483 = distinct !{!2483, !2484, !"_Z13__invoke_cbrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!2484 = distinct !{!2484, !"_Z13__invoke_cbrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!2485 = !{!2486} +!2486 = distinct !{!2486, !2487, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE420_clEv: %agg.result"} +!2487 = distinct !{!2487, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE420_clEv"} +!2488 = !{!2489} +!2489 = distinct !{!2489, !2490, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE704_clEv: %agg.result"} +!2490 = distinct !{!2490, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE704_clEv"} +!2491 = !{!2492} +!2492 = distinct !{!2492, !2493, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE270_clEv: %agg.result"} +!2493 = distinct !{!2493, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE270_clEv"} +!2494 = !{!2495} +!2495 = distinct !{!2495, !2496, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE121_clEv: %agg.result"} +!2496 = distinct !{!2496, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE121_clEv"} +!2497 = distinct !{!2497, !103} +!2498 = !{!2499, !129, i64 24} +!2499 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!2500 = !{!2501} +!2501 = distinct !{!2501, !2502, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE57_clEv: %agg.result"} +!2502 = distinct !{!2502, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE57_clEv"} +!2503 = !{i32 10793527} +!2504 = !{!2505} +!2505 = distinct !{!2505, !2506, !"_Z13__invoke_fdimIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!2506 = distinct !{!2506, !"_Z13__invoke_fdimIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!2507 = distinct !{!2507, !103} +!2508 = !{!2509} +!2509 = distinct !{!2509, !2510, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!2510 = distinct !{!2510, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!2511 = distinct !{!2511, !103} +!2512 = !{!2045, !129, i64 8} +!2513 = !{!2045, !129, i64 16} +!2514 = !{!2045, !129, i64 24} +!2515 = !{!2516, !129, i64 24} +!2516 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!2517 = !{!2518, !129, i64 0} +!2518 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!2519 = distinct !{!2519, !103} +!2520 = !{!2521} +!2521 = distinct !{!2521, !2522, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!2522 = distinct !{!2522, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!2523 = !{!2524, !129, i64 24} +!2524 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!2525 = !{!2526} +!2526 = distinct !{!2526, !2527, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESJ_: %agg.result"} +!2527 = distinct !{!2527, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESJ_"} +!2528 = !{!2529} +!2529 = distinct !{!2529, !2530, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} +!2530 = distinct !{!2530, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} +!2531 = !{!2532} +!2532 = distinct !{!2532, !2533, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE1_clESA_: %agg.result"} +!2533 = distinct !{!2533, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE1_clESA_"} +!2534 = !{!2535} +!2535 = distinct !{!2535, !2536, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!2536 = distinct !{!2536, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} +!2537 = !{!2538} +!2538 = distinct !{!2538, !2539, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE329_clEv: %agg.result"} +!2539 = distinct !{!2539, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE329_clEv"} +!2540 = !{!2541, !129, i64 0} +!2541 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} +!2542 = !{!2543} +!2543 = distinct !{!2543, !2544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE10_clEv: %agg.result"} +!2544 = distinct !{!2544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE10_clEv"} +!2545 = !{!2546} +!2546 = distinct !{!2546, !2547, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!2547 = distinct !{!2547, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!2548 = !{!2549} +!2549 = distinct !{!2549, !2550, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!2550 = distinct !{!2550, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!2551 = !{!2552} +!2552 = distinct !{!2552, !2553, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE472_clEv: %agg.result"} +!2553 = distinct !{!2553, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE472_clEv"} +!2554 = !{i32 9846206} +!2555 = !{i32 10852084} +!2556 = !{!2557} +!2557 = distinct !{!2557, !2558, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!2558 = distinct !{!2558, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!2559 = !{!2560} +!2560 = distinct !{!2560, !2561, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE789_clEv: %agg.result"} +!2561 = distinct !{!2561, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE789_clEv"} +!2562 = !{!2563} +!2563 = distinct !{!2563, !2564, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE635_clEv: %agg.result"} +!2564 = distinct !{!2564, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE635_clEv"} +!2565 = !{!2566} +!2566 = distinct !{!2566, !2567, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} +!2567 = distinct !{!2567, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} +!2568 = !{!2569} +!2569 = distinct !{!2569, !2570, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!2570 = distinct !{!2570, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!2571 = distinct !{!2571, !103} +!2572 = distinct !{!2572, !103} +!2573 = !{!2574} +!2574 = distinct !{!2574, !2575, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE665_clEv: %agg.result"} +!2575 = distinct !{!2575, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE665_clEv"} +!2576 = distinct !{!2576, !103} +!2577 = !{!2578} +!2578 = distinct !{!2578, !2579, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE108_clEv: %agg.result"} +!2579 = distinct !{!2579, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE108_clEv"} +!2580 = distinct !{!2580, !103} +!2581 = !{!2582} +!2582 = distinct !{!2582, !2583, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE_clESB_: %agg.result"} +!2583 = distinct !{!2583, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE_clESB_"} +!2584 = distinct !{!2584, !103} +!2585 = !{!2586, !129, i64 0} +!2586 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} +!2587 = !{!2588} +!2588 = distinct !{!2588, !2589, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!2589 = distinct !{!2589, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!2590 = !{!2591} +!2591 = distinct !{!2591, !2592, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE550_clEv: %agg.result"} +!2592 = distinct !{!2592, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE550_clEv"} +!2593 = !{!2594} +!2594 = distinct !{!2594, !2595, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE676_clEv: %agg.result"} +!2595 = distinct !{!2595, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE676_clEv"} +!2596 = !{!2597} +!2597 = distinct !{!2597, !2598, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE522_clEv: %agg.result"} +!2598 = distinct !{!2598, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE522_clEv"} +!2599 = !{!700, !129, i64 8} +!2600 = !{!2601} +!2601 = distinct !{!2601, !2602, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE146_clEv: %agg.result"} +!2602 = distinct !{!2602, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE146_clEv"} +!2603 = !{!1088, !129, i64 8} +!2604 = !{!1088, !129, i64 16} +!2605 = !{!1088, !129, i64 24} +!2606 = !{!2607} +!2607 = distinct !{!2607, !2608, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE617_clEv: %agg.result"} +!2608 = distinct !{!2608, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE617_clEv"} +!2609 = !{!2610} +!2610 = distinct !{!2610, !2611, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE664_clEv: %agg.result"} +!2611 = distinct !{!2611, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE664_clEv"} +!2612 = !{!2613} +!2613 = distinct !{!2613, !2614, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!2614 = distinct !{!2614, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!2615 = !{!2616} +!2616 = distinct !{!2616, !2617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE623_clEv: %agg.result"} +!2617 = distinct !{!2617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE623_clEv"} +!2618 = !{!2619} +!2619 = distinct !{!2619, !2620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} +!2620 = distinct !{!2620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} +!2621 = !{!2622, !129, i64 0} +!2622 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEE", !129, i64 0} +!2623 = !{!2624} +!2624 = distinct !{!2624, !2625, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} +!2625 = distinct !{!2625, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} +!2626 = !{!2627} +!2627 = distinct !{!2627, !2628, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!2628 = distinct !{!2628, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} +!2629 = !{i32 10500945} +!2630 = !{!2631} +!2631 = distinct !{!2631, !2632, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE542_clEv: %agg.result"} +!2632 = distinct !{!2632, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE542_clEv"} +!2633 = !{!2634} +!2634 = distinct !{!2634, !2635, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE743_clEv: %agg.result"} +!2635 = distinct !{!2635, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE743_clEv"} +!2636 = !{i32 10788448} +!2637 = !{!2638} +!2638 = distinct !{!2638, !2639, !"_Z16__invoke_atan2piIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!2639 = distinct !{!2639, !"_Z16__invoke_atan2piIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!2640 = !{!2641} +!2641 = distinct !{!2641, !2642, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE802_clEv: %agg.result"} +!2642 = distinct !{!2642, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE802_clEv"} +!2643 = !{i32 -2140793329} +!2644 = !{!2645} +!2645 = distinct !{!2645, !2646, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE584_clEv: %agg.result"} +!2646 = distinct !{!2646, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE584_clEv"} +!2647 = !{!2648} +!2648 = distinct !{!2648, !2649, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE59_clEv: %agg.result"} +!2649 = distinct !{!2649, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE59_clEv"} +!2650 = !{i32 -2140792616} +!2651 = !{!2652} +!2652 = distinct !{!2652, !2653, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE574_clEv: %agg.result"} +!2653 = distinct !{!2653, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE574_clEv"} +!2654 = !{!2655} +!2655 = distinct !{!2655, !2656, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE236_clEv: %agg.result"} +!2656 = distinct !{!2656, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE236_clEv"} +!2657 = distinct !{!2657, !103} +!2658 = !{i32 10787285} +!2659 = !{!2660} +!2660 = distinct !{!2660, !2661, !"_Z13__invoke_atanIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!2661 = distinct !{!2661, !"_Z13__invoke_atanIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!2662 = !{!2663} +!2663 = distinct !{!2663, !2664, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE813_clEv: %agg.result"} +!2664 = distinct !{!2664, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE813_clEv"} +!2665 = distinct !{!2665, !103} +!2666 = !{!2667} +!2667 = distinct !{!2667, !2668, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE601_clEv: %agg.result"} +!2668 = distinct !{!2668, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE601_clEv"} +!2669 = !{!2670} +!2670 = distinct !{!2670, !2671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE169_clEv: %agg.result"} +!2671 = distinct !{!2671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE169_clEv"} +!2672 = distinct !{!2672, !103} +!2673 = !{!2674} +!2674 = distinct !{!2674, !2675, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!2675 = distinct !{!2675, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!2676 = distinct !{!2676, !103} +!2677 = !{!2678} +!2678 = distinct !{!2678, !2679, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE706_clEv: %agg.result"} +!2679 = distinct !{!2679, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE706_clEv"} +!2680 = distinct !{!2680, !103} +!2681 = !{!2682} +!2682 = distinct !{!2682, !2683, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE514_clEv: %agg.result"} +!2683 = distinct !{!2683, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE514_clEv"} +!2684 = !{!2685} +!2685 = distinct !{!2685, !2686, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE508_clEv: %agg.result"} +!2686 = distinct !{!2686, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE508_clEv"} +!2687 = distinct !{!2687, !103} +!2688 = !{!2689} +!2689 = distinct !{!2689, !2690, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE30_clEv: %agg.result"} +!2690 = distinct !{!2690, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE30_clEv"} +!2691 = !{i32 10791426} +!2692 = !{!2693} +!2693 = distinct !{!2693, !2694, !"_Z12__invoke_expIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!2694 = distinct !{!2694, !"_Z12__invoke_expIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!2695 = distinct !{!2695, !103} +!2696 = !{!2697, !127, i64 0} +!2697 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300419EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !2698, i64 104} +!2698 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE0_"} +!2699 = !{i32 10798926} +!2700 = !{!2701} +!2701 = distinct !{!2701, !2702, !"_Z14__invoke_ldexpIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_: %agg.result"} +!2702 = distinct !{!2702, !"_Z14__invoke_ldexpIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_"} +!2703 = !{!2704} +!2704 = distinct !{!2704, !2705, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} +!2705 = distinct !{!2705, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} +!2706 = !{!2707} +!2707 = distinct !{!2707, !2708, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!2708 = distinct !{!2708, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_S6_ET_T0_T1_T2_"} +!2709 = !{!2710} +!2710 = distinct !{!2710, !2711, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE573_clEv: %agg.result"} +!2711 = distinct !{!2711, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE573_clEv"} +!2712 = !{i32 501303} +!2713 = distinct !{!2713, !103} +!2714 = distinct !{!2714, !103} +!2715 = !{!2716} +!2716 = distinct !{!2716, !2717, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE306_clEv: %agg.result"} +!2717 = distinct !{!2717, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE306_clEv"} +!2718 = distinct !{!2718, !103} +!2719 = !{!2720} +!2720 = distinct !{!2720, !2721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE0_clESA_: %agg.result"} +!2721 = distinct !{!2721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE0_clESA_"} +!2722 = !{!2723} +!2723 = distinct !{!2723, !2724, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE156_clEv: %agg.result"} +!2724 = distinct !{!2724, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE156_clEv"} +!2725 = !{!2726} +!2726 = distinct !{!2726, !2727, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!2727 = distinct !{!2727, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!2728 = distinct !{!2728, !103} +!2729 = !{!2730} +!2730 = distinct !{!2730, !2731, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE96_clEv: %agg.result"} +!2731 = distinct !{!2731, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE96_clEv"} +!2732 = !{!2733} +!2733 = distinct !{!2733, !2734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE727_clEv: %agg.result"} +!2734 = distinct !{!2734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE727_clEv"} +!2735 = !{!2736} +!2736 = distinct !{!2736, !2737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE189_clEv: %agg.result"} +!2737 = distinct !{!2737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE189_clEv"} +!2738 = !{i32 6672051} +!2739 = !{!2740} +!2740 = distinct !{!2740, !2741, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!2741 = distinct !{!2741, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!2742 = !{!2743} +!2743 = distinct !{!2743, !2744, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE467_clEv: %agg.result"} +!2744 = distinct !{!2744, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE467_clEv"} +!2745 = !{!2746} +!2746 = distinct !{!2746, !2747, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE91_clEv: %agg.result"} +!2747 = distinct !{!2747, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE91_clEv"} +!2748 = !{!2749, !129, i64 0} +!2749 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!2750 = !{!2749, !129, i64 8} +!2751 = !{!2749, !129, i64 16} +!2752 = !{!2749, !129, i64 24} +!2753 = distinct !{!2753, !103} +!2754 = !{i32 10814663} +!2755 = !{!2756} +!2756 = distinct !{!2756, !2757, !"_Z14__invoke_sinpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!2757 = distinct !{!2757, !"_Z14__invoke_sinpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!2758 = !{!2759} +!2759 = distinct !{!2759, !2760, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} +!2760 = distinct !{!2760, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} +!2761 = !{!2762} +!2762 = distinct !{!2762, !2763, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE619_clEv: %agg.result"} +!2763 = distinct !{!2763, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE619_clEv"} +!2764 = !{i32 1353771} +!2765 = !{!2766, !129, i64 0} +!2766 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} +!2767 = !{!2768, !129, i64 0} +!2768 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} +!2769 = !{!2770} +!2770 = distinct !{!2770, !2771, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE773_clEv: %agg.result"} +!2771 = distinct !{!2771, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE773_clEv"} +!2772 = distinct !{!2772, !103} +!2773 = !{!2774} +!2774 = distinct !{!2774, !2775, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE607_clEv: %agg.result"} +!2775 = distinct !{!2775, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE607_clEv"} +!2776 = !{!2777} +!2777 = distinct !{!2777, !2778, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE383_clEv: %agg.result"} +!2778 = distinct !{!2778, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE383_clEv"} +!2779 = !{!2780} +!2780 = distinct !{!2780, !2781, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE93_clEv: %agg.result"} +!2781 = distinct !{!2781, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE93_clEv"} +!2782 = !{!2783, !129, i64 0} +!2783 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!2784 = !{!2783, !129, i64 8} +!2785 = !{!2786} +!2786 = distinct !{!2786, !2787, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!2787 = distinct !{!2787, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!2788 = distinct !{!2788, !103} +!2789 = !{!2790} +!2790 = distinct !{!2790, !2791, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE691_clEv: %agg.result"} +!2791 = distinct !{!2791, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE691_clEv"} +!2792 = !{!2793} +!2793 = distinct !{!2793, !2794, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE657_clEv: %agg.result"} +!2794 = distinct !{!2794, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE657_clEv"} +!2795 = !{!2796} +!2796 = distinct !{!2796, !2797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE48_clEv: %agg.result"} +!2797 = distinct !{!2797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE48_clEv"} +!2798 = !{!2799, !129, i64 0} +!2799 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2800 = !{!2801} +!2801 = distinct !{!2801, !2802, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!2802 = distinct !{!2802, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!2803 = !{!2804} +!2804 = distinct !{!2804, !2805, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE429_clEv: %agg.result"} +!2805 = distinct !{!2805, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE429_clEv"} +!2806 = !{i32 10787865} +!2807 = !{!2808} +!2808 = distinct !{!2808, !2809, !"_Z14__invoke_atanhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!2809 = distinct !{!2809, !"_Z14__invoke_atanhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!2810 = !{!2811} +!2811 = distinct !{!2811, !2812, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE25_clEv: %agg.result"} +!2812 = distinct !{!2812, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE25_clEv"} +!2813 = !{!2814} +!2814 = distinct !{!2814, !2815, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE349_clEv: %agg.result"} +!2815 = distinct !{!2815, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE349_clEv"} +!2816 = distinct !{!2816, !103} +!2817 = !{!2818, !129, i64 0} +!2818 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EEE", !129, i64 0} +!2819 = !{!2820} +!2820 = distinct !{!2820, !2821, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!2821 = distinct !{!2821, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!2822 = !{!2823} +!2823 = distinct !{!2823, !2824, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE614_clEv: %agg.result"} +!2824 = distinct !{!2824, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE614_clEv"} +!2825 = !{!2467, !129, i64 8} +!2826 = distinct !{!2826, !103} +!2827 = !{!2828} +!2828 = distinct !{!2828, !2829, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE435_clEv: %agg.result"} +!2829 = distinct !{!2829, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE435_clEv"} +!2830 = !{i32 10794128} +!2831 = !{!2832} +!2832 = distinct !{!2832, !2833, !"_Z12__invoke_fmaIN4sycl3_V16detail9half_impl4halfES4_S4_S4_ET_T0_T1_T2_: %agg.result"} +!2833 = distinct !{!2833, !"_Z12__invoke_fmaIN4sycl3_V16detail9half_impl4halfES4_S4_S4_ET_T0_T1_T2_"} +!2834 = !{!2835} +!2835 = distinct !{!2835, !2836, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE77_clEv: %agg.result"} +!2836 = distinct !{!2836, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE77_clEv"} +!2837 = !{!2838} +!2838 = distinct !{!2838, !2839, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE807_clEv: %agg.result"} +!2839 = distinct !{!2839, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE807_clEv"} +!2840 = !{!2841} +!2841 = distinct !{!2841, !2842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE144_clEv: %agg.result"} +!2842 = distinct !{!2842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE144_clEv"} +!2843 = !{i32 -2140797800} +!2844 = distinct !{!2844, !103} +!2845 = !{i32 10807614} +!2846 = !{!2847} +!2847 = distinct !{!2847, !2848, !"_Z13__invoke_powrIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!2848 = distinct !{!2848, !"_Z13__invoke_powrIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!2849 = !{!2850} +!2850 = distinct !{!2850, !2851, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE363_clEv: %agg.result"} +!2851 = distinct !{!2851, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE363_clEv"} +!2852 = !{!2853} +!2853 = distinct !{!2853, !2854, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE213_clEv: %agg.result"} +!2854 = distinct !{!2854, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE213_clEv"} +!2855 = !{!2856} +!2856 = distinct !{!2856, !2857, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!2857 = distinct !{!2857, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} +!2858 = !{!2859, !129, i64 0} +!2859 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEE", !129, i64 0} +!2860 = !{!2861} +!2861 = distinct !{!2861, !2862, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE62_clEv: %agg.result"} +!2862 = distinct !{!2862, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE62_clEv"} +!2863 = distinct !{!2863, !103} +!2864 = !{!2865} +!2865 = distinct !{!2865, !2866, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE613_clEv: %agg.result"} +!2866 = distinct !{!2866, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE613_clEv"} +!2867 = !{!2868} +!2868 = distinct !{!2868, !2869, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE238_clEv: %agg.result"} +!2869 = distinct !{!2869, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE238_clEv"} +!2870 = !{!2871} +!2871 = distinct !{!2871, !2872, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!2872 = distinct !{!2872, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!2873 = !{!2874} +!2874 = distinct !{!2874, !2875, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE193_clEv: %agg.result"} +!2875 = distinct !{!2875, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE193_clEv"} +!2876 = !{!2877, !129, i64 0} +!2877 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!2878 = !{!2877, !129, i64 8} +!2879 = !{!2877, !129, i64 16} +!2880 = !{!2881} +!2881 = distinct !{!2881, !2882, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE348_clEv: %agg.result"} +!2882 = distinct !{!2882, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE348_clEv"} +!2883 = !{!2884} +!2884 = distinct !{!2884, !2885, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE217_clEv: %agg.result"} +!2885 = distinct !{!2885, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE217_clEv"} +!2886 = !{!2887} +!2887 = distinct !{!2887, !2888, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!2888 = distinct !{!2888, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!2889 = distinct !{!2889, !103} +!2890 = !{!2891} +!2891 = distinct !{!2891, !2892, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE463_clEv: %agg.result"} +!2892 = distinct !{!2892, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE463_clEv"} +!2893 = !{i32 243692} +!2894 = distinct !{!2894, !103} +!2895 = !{!2896, !129, i64 0} +!2896 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!2897 = !{!2898} +!2898 = distinct !{!2898, !2899, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE654_clEv: %agg.result"} +!2899 = distinct !{!2899, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE654_clEv"} +!2900 = !{!2901, !129, i64 0} +!2901 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!2902 = !{!2901, !129, i64 8} +!2903 = !{!2901, !129, i64 16} +!2904 = !{!2901, !129, i64 24} +!2905 = !{!2906} +!2906 = distinct !{!2906, !2907, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE389_clEv: %agg.result"} +!2907 = distinct !{!2907, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE389_clEv"} +!2908 = !{!2909} +!2909 = distinct !{!2909, !2910, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE749_clEv: %agg.result"} +!2910 = distinct !{!2910, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE749_clEv"} +!2911 = !{!2912} +!2912 = distinct !{!2912, !2913, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!2913 = distinct !{!2913, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!2914 = !{!2915} +!2915 = distinct !{!2915, !2916, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE87_clEv: %agg.result"} +!2916 = distinct !{!2916, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE87_clEv"} +!2917 = distinct !{!2917, !103} +!2918 = distinct !{!2918, !103} +!2919 = !{!2920, !129, i64 0} +!2920 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} +!2921 = !{i32 10496877} +!2922 = distinct !{!2922, !103} +!2923 = !{i32 10816626} +!2924 = !{!2925} +!2925 = distinct !{!2925, !2926, !"_Z15__invoke_tgammaIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!2926 = distinct !{!2926, !"_Z15__invoke_tgammaIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!2927 = distinct !{!2927, !103} +!2928 = !{!2929} +!2929 = distinct !{!2929, !2930, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE707_clEv: %agg.result"} +!2930 = distinct !{!2930, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE707_clEv"} +!2931 = !{!2932} +!2932 = distinct !{!2932, !2933, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE46_clEv: %agg.result"} +!2933 = distinct !{!2933, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE46_clEv"} +!2934 = !{!2935} +!2935 = distinct !{!2935, !2936, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE778_clEv: %agg.result"} +!2936 = distinct !{!2936, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE778_clEv"} +!2937 = !{!2938} +!2938 = distinct !{!2938, !2939, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE76_clEv: %agg.result"} +!2939 = distinct !{!2939, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE76_clEv"} +!2940 = distinct !{!2940, !103} +!2941 = !{!2942} +!2942 = distinct !{!2942, !2943, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_: %agg.result"} +!2943 = distinct !{!2943, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_"} +!2944 = !{i32 1356380} +!2945 = distinct !{!2945, !103} +!2946 = !{!2947} +!2947 = distinct !{!2947, !2948, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE0_clESA_: %agg.result"} +!2948 = distinct !{!2948, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE0_clESA_"} +!2949 = !{!2950} +!2950 = distinct !{!2950, !2951, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE390_clEv: %agg.result"} +!2951 = distinct !{!2951, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE390_clEv"} +!2952 = !{!2953} +!2953 = distinct !{!2953, !2954, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE765_clEv: %agg.result"} +!2954 = distinct !{!2954, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE765_clEv"} +!2955 = !{!2956} +!2956 = distinct !{!2956, !2957, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE94_clEv: %agg.result"} +!2957 = distinct !{!2957, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE94_clEv"} +!2958 = distinct !{!2958, !103} +!2959 = !{!2960} +!2960 = distinct !{!2960, !2961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE790_clEv: %agg.result"} +!2961 = distinct !{!2961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE790_clEv"} +!2962 = distinct !{!2962, !103} +!2963 = !{!2964} +!2964 = distinct !{!2964, !2965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE417_clEv: %agg.result"} +!2965 = distinct !{!2965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE417_clEv"} +!2966 = distinct !{!2966, !103} +!2967 = !{!2968} +!2968 = distinct !{!2968, !2969, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!2969 = distinct !{!2969, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!2970 = distinct !{!2970, !103} +!2971 = !{!2972} +!2972 = distinct !{!2972, !2973, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE678_clEv: %agg.result"} +!2973 = distinct !{!2973, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE678_clEv"} +!2974 = !{!2975} +!2975 = distinct !{!2975, !2976, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE811_clEv: %agg.result"} +!2976 = distinct !{!2976, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE811_clEv"} +!2977 = distinct !{!2977, !103} +!2978 = !{!1234, !129, i64 8} +!2979 = !{!1234, !129, i64 16} +!2980 = !{!1234, !129, i64 24} +!2981 = !{i32 10803341} +!2982 = !{!2983} +!2983 = distinct !{!2983, !2984, !"_Z12__invoke_madIN4sycl3_V16detail9half_impl4halfES4_S4_S4_ET_T0_T1_T2_: %agg.result"} +!2984 = distinct !{!2984, !"_Z12__invoke_madIN4sycl3_V16detail9half_impl4halfES4_S4_S4_ET_T0_T1_T2_"} +!2985 = !{!2986} +!2986 = distinct !{!2986, !2987, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE2_clESD_: %agg.result"} +!2987 = distinct !{!2987, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE2_clESD_"} +!2988 = !{!2989} +!2989 = distinct !{!2989, !2990, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE167_clEv: %agg.result"} +!2990 = distinct !{!2990, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE167_clEv"} +!2991 = !{!2992} +!2992 = distinct !{!2992, !2993, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE468_clEv: %agg.result"} +!2993 = distinct !{!2993, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE468_clEv"} +!2994 = !{!2995} +!2995 = distinct !{!2995, !2996, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE_clESA_: %agg.result"} +!2996 = distinct !{!2996, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE_clESA_"} +!2997 = !{!2998, !129, i64 0} +!2998 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!2999 = !{!3000} +!3000 = distinct !{!3000, !3001, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE793_clEv: %agg.result"} +!3001 = distinct !{!3001, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE793_clEv"} +!3002 = distinct !{!3002, !103} +!3003 = !{!3004} +!3004 = distinct !{!3004, !3005, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!3005 = distinct !{!3005, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} +!3006 = !{!3007} +!3007 = distinct !{!3007, !3008, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE465_clEv: %agg.result"} +!3008 = distinct !{!3008, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE465_clEv"} +!3009 = !{!3010} +!3010 = distinct !{!3010, !3011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE345_clEv: %agg.result"} +!3011 = distinct !{!3011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE345_clEv"} +!3012 = !{!3013} +!3013 = distinct !{!3013, !3014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE3_clESA_: %agg.result"} +!3014 = distinct !{!3014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE3_clESA_"} +!3015 = !{i32 1190284} +!3016 = !{!3017, !129, i64 0} +!3017 = !{!"_ZTSZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!3018 = !{!3017, !129, i64 8} +!3019 = !{!3017, !129, i64 16} +!3020 = !{!3021} +!3021 = distinct !{!3021, !3022, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE695_clEv: %agg.result"} +!3022 = distinct !{!3022, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE695_clEv"} +!3023 = !{i32 10518820} +!3024 = distinct !{!3024, !103} +!3025 = distinct !{!3025, !103} +!3026 = !{!3027, !129, i64 0} +!3027 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} +!3028 = !{!3029} +!3029 = distinct !{!3029, !3030, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3030 = distinct !{!3030, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3031 = !{!3032} +!3032 = distinct !{!3032, !3033, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE591_clEv: %agg.result"} +!3033 = distinct !{!3033, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE591_clEv"} +!3034 = !{!3035} +!3035 = distinct !{!3035, !3036, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE523_clEv: %agg.result"} +!3036 = distinct !{!3036, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE523_clEv"} +!3037 = distinct !{!3037, !103} +!3038 = !{!3039} +!3039 = distinct !{!3039, !3040, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} +!3040 = distinct !{!3040, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} +!3041 = !{!3042} +!3042 = distinct !{!3042, !3043, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE271_clEv: %agg.result"} +!3043 = distinct !{!3043, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE271_clEv"} +!3044 = distinct !{!3044, !103} +!3045 = distinct !{!3045, !103} +!3046 = !{!3047} +!3047 = distinct !{!3047, !3048, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!3048 = distinct !{!3048, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!3049 = distinct !{!3049, !103} +!3050 = !{!3051} +!3051 = distinct !{!3051, !3052, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE139_clEv: %agg.result"} +!3052 = distinct !{!3052, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE139_clEv"} +!3053 = distinct !{!3053, !103} +!3054 = !{!3055} +!3055 = distinct !{!3055, !3056, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE58_clEv: %agg.result"} +!3056 = distinct !{!3056, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE58_clEv"} +!3057 = distinct !{!3057, !103} +!3058 = distinct !{!3058, !103} +!3059 = !{!3060} +!3060 = distinct !{!3060, !3061, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!3061 = distinct !{!3061, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!3062 = !{!3063} +!3063 = distinct !{!3063, !3064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE792_clEv: %agg.result"} +!3064 = distinct !{!3064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE792_clEv"} +!3065 = !{!3066} +!3066 = distinct !{!3066, !3067, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3067 = distinct !{!3067, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3068 = distinct !{!3068, !103} +!3069 = !{!3070} +!3070 = distinct !{!3070, !3071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE723_clEv: %agg.result"} +!3071 = distinct !{!3071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE723_clEv"} +!3072 = distinct !{!3072, !103} +!3073 = !{!3074} +!3074 = distinct !{!3074, !3075, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} +!3075 = distinct !{!3075, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} +!3076 = !{!3077, !129, i64 0} +!3077 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!3078 = !{!3079} +!3079 = distinct !{!3079, !3080, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE769_clEv: %agg.result"} +!3080 = distinct !{!3080, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE769_clEv"} +!3081 = !{!3082} +!3082 = distinct !{!3082, !3083, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE153_clEv: %agg.result"} +!3083 = distinct !{!3083, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE153_clEv"} +!3084 = distinct !{!3084, !103} +!3085 = !{!3086} +!3086 = distinct !{!3086, !3087, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3087 = distinct !{!3087, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3088 = distinct !{!3088, !103} +!3089 = distinct !{!3089, !103} +!3090 = !{!3091} +!3091 = distinct !{!3091, !3092, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE42_clEv: %agg.result"} +!3092 = distinct !{!3092, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE42_clEv"} +!3093 = !{!3094} +!3094 = distinct !{!3094, !3095, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE4_clESD_: %agg.result"} +!3095 = distinct !{!3095, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE4_clESD_"} +!3096 = distinct !{!3096, !103} +!3097 = !{!3098} +!3098 = distinct !{!3098, !3099, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!3099 = distinct !{!3099, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!3100 = !{!3101} +!3101 = distinct !{!3101, !3102, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE459_clEv: %agg.result"} +!3102 = distinct !{!3102, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE459_clEv"} +!3103 = distinct !{!3103, !103} +!3104 = !{!3105} +!3105 = distinct !{!3105, !3106, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} +!3106 = distinct !{!3106, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} +!3107 = !{!3108} +!3108 = distinct !{!3108, !3109, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE509_clEv: %agg.result"} +!3109 = distinct !{!3109, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE509_clEv"} +!3110 = !{!3111} +!3111 = distinct !{!3111, !3112, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE384_clEv: %agg.result"} +!3112 = distinct !{!3112, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE384_clEv"} +!3113 = !{!3114, !129, i64 24} +!3114 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!3115 = distinct !{!3115, !103} +!3116 = !{!3117, !129, i64 0} +!3117 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!3118 = !{!3117, !129, i64 8} +!3119 = !{!3117, !129, i64 16} +!3120 = !{!3121} +!3121 = distinct !{!3121, !3122, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!3122 = distinct !{!3122, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!3123 = !{!3124} +!3124 = distinct !{!3124, !3125, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} +!3125 = distinct !{!3125, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} +!3126 = !{!3127} +!3127 = distinct !{!3127, !3128, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_: %agg.result"} +!3128 = distinct !{!3128, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_"} +!3129 = !{!3130} +!3130 = distinct !{!3130, !3131, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!3131 = distinct !{!3131, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!3132 = !{!3133} +!3133 = distinct !{!3133, !3134, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!3134 = distinct !{!3134, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!3135 = !{!3136} +!3136 = distinct !{!3136, !3137, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE180_clEv: %agg.result"} +!3137 = distinct !{!3137, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE180_clEv"} +!3138 = !{!3139} +!3139 = distinct !{!3139, !3140, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!3140 = distinct !{!3140, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!3141 = !{!3142} +!3142 = distinct !{!3142, !3143, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE506_clEv: %agg.result"} +!3143 = distinct !{!3143, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE506_clEv"} +!3144 = !{!3145} +!3145 = distinct !{!3145, !3146, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!3146 = distinct !{!3146, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!3147 = !{!2043, !129, i64 8} +!3148 = distinct !{!3148, !103} +!3149 = !{!3150} +!3150 = distinct !{!3150, !3151, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3151 = distinct !{!3151, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3152 = !{!3153} +!3153 = distinct !{!3153, !3154, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_T2_: %agg.result"} +!3154 = distinct !{!3154, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_T2_"} +!3155 = !{!3156} +!3156 = distinct !{!3156, !3157, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE712_clEv: %agg.result"} +!3157 = distinct !{!3157, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE712_clEv"} +!3158 = !{i32 10802382} +!3159 = !{!3160} +!3160 = distinct !{!3160, !3161, !"_Z14__invoke_log10IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!3161 = distinct !{!3161, !"_Z14__invoke_log10IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!3162 = distinct !{!3162, !103} +!3163 = !{!3164} +!3164 = distinct !{!3164, !3165, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE177_clEv: %agg.result"} +!3165 = distinct !{!3165, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE177_clEv"} +!3166 = !{!3167} +!3167 = distinct !{!3167, !3168, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3168 = distinct !{!3168, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3169 = !{!3170} +!3170 = distinct !{!3170, !3171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE53_clEv: %agg.result"} +!3171 = distinct !{!3171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE53_clEv"} +!3172 = !{!3173} +!3173 = distinct !{!3173, !3174, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE186_clEv: %agg.result"} +!3174 = distinct !{!3174, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE186_clEv"} +!3175 = distinct !{!3175, !103} +!3176 = distinct !{!3176, !103} +!3177 = !{!3178} +!3178 = distinct !{!3178, !3179, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!3179 = distinct !{!3179, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!3180 = !{!3181} +!3181 = distinct !{!3181, !3182, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!3182 = distinct !{!3182, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!3183 = distinct !{!3183, !103} +!3184 = distinct !{!3184, !103} +!3185 = !{i32 10795057} +!3186 = !{!3187} +!3187 = distinct !{!3187, !3188, !"_Z13__invoke_fmodIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!3188 = distinct !{!3188, !"_Z13__invoke_fmodIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!3189 = !{!3190} +!3190 = distinct !{!3190, !3191, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE447_clEv: %agg.result"} +!3191 = distinct !{!3191, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE447_clEv"} +!3192 = !{!3193} +!3193 = distinct !{!3193, !3194, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE738_clEv: %agg.result"} +!3194 = distinct !{!3194, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE738_clEv"} +!3195 = distinct !{!3195, !103} +!3196 = !{!3197} +!3197 = distinct !{!3197, !3198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE218_clEv: %agg.result"} +!3198 = distinct !{!3198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE218_clEv"} +!3199 = distinct !{!3199, !103} +!3200 = !{!3201} +!3201 = distinct !{!3201, !3202, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE171_clEv: %agg.result"} +!3202 = distinct !{!3202, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE171_clEv"} +!3203 = !{!3204} +!3204 = distinct !{!3204, !3205, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!3205 = distinct !{!3205, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!3206 = !{i32 10794445} +!3207 = !{!3208} +!3208 = distinct !{!3208, !3209, !"_Z13__invoke_fmaxIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!3209 = distinct !{!3209, !"_Z13__invoke_fmaxIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!3210 = !{!3211, !129, i64 0} +!3211 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!3212 = !{i32 9846426} +!3213 = distinct !{!3213, !103} +!3214 = !{!3215} +!3215 = distinct !{!3215, !3216, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE143_clEv: %agg.result"} +!3216 = distinct !{!3216, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE143_clEv"} +!3217 = !{!3218} +!3218 = distinct !{!3218, !3219, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE51_clEv: %agg.result"} +!3219 = distinct !{!3219, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE51_clEv"} +!3220 = !{!3221} +!3221 = distinct !{!3221, !3222, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!3222 = distinct !{!3222, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!3223 = !{!3224} +!3224 = distinct !{!3224, !3225, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE325_clEv: %agg.result"} +!3225 = distinct !{!3225, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE325_clEv"} +!3226 = distinct !{!3226, !103} +!3227 = !{!3228} +!3228 = distinct !{!3228, !3229, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!3229 = distinct !{!3229, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!3230 = !{!3231} +!3231 = distinct !{!3231, !3232, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE2_clESA_: %agg.result"} +!3232 = distinct !{!3232, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE2_clESA_"} +!3233 = distinct !{!3233, !103} +!3234 = !{!3235} +!3235 = distinct !{!3235, !3236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE517_clEv: %agg.result"} +!3236 = distinct !{!3236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE517_clEv"} +!3237 = !{i32 10790956} +!3238 = !{!3239} +!3239 = distinct !{!3239, !3240, !"_Z12__invoke_erfIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!3240 = distinct !{!3240, !"_Z12__invoke_erfIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!3241 = !{!3242} +!3242 = distinct !{!3242, !3243, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE410_clEv: %agg.result"} +!3243 = distinct !{!3243, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE410_clEv"} +!3244 = !{!3245} +!3245 = distinct !{!3245, !3246, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE490_clEv: %agg.result"} +!3246 = distinct !{!3246, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE490_clEv"} +!3247 = distinct !{!3247, !103} +!3248 = !{!3249} +!3249 = distinct !{!3249, !3250, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE170_clEv: %agg.result"} +!3250 = distinct !{!3250, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE170_clEv"} +!3251 = !{!3252} +!3252 = distinct !{!3252, !3253, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE750_clEv: %agg.result"} +!3253 = distinct !{!3253, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE750_clEv"} +!3254 = !{i32 10870207} +!3255 = !{!3256} +!3256 = distinct !{!3256, !3257, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3257 = distinct !{!3257, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3258 = !{!174, !129, i64 8} +!3259 = !{!174, !129, i64 16} +!3260 = !{!174, !129, i64 24} +!3261 = !{!3262} +!3262 = distinct !{!3262, !3263, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3263 = distinct !{!3263, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3264 = !{!3265} +!3265 = distinct !{!3265, !3266, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE740_clEv: %agg.result"} +!3266 = distinct !{!3266, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE740_clEv"} +!3267 = !{!1478, !129, i64 8} +!3268 = !{!1478, !129, i64 16} +!3269 = !{!1478, !129, i64 24} +!3270 = !{i32 10851374} +!3271 = !{!3272} +!3272 = distinct !{!3272, !3273, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!3273 = distinct !{!3273, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!3274 = !{!808, !129, i64 24} +!3275 = !{!3276, !129, i64 0} +!3276 = !{!"_ZTSZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!3277 = !{!3278} +!3278 = distinct !{!3278, !3279, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESJ_: %agg.result"} +!3279 = distinct !{!3279, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESJ_"} +!3280 = !{!3281} +!3281 = distinct !{!3281, !3282, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE615_clEv: %agg.result"} +!3282 = distinct !{!3282, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE615_clEv"} +!3283 = !{!3284} +!3284 = distinct !{!3284, !3285, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} +!3285 = distinct !{!3285, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} +!3286 = !{i32 6027567} +!3287 = !{!3288} +!3288 = distinct !{!3288, !3289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE3_clESD_: %agg.result"} +!3289 = distinct !{!3289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE3_clESD_"} +!3290 = distinct !{!3290, !103} +!3291 = !{!3292} +!3292 = distinct !{!3292, !3293, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!3293 = distinct !{!3293, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!3294 = !{!3295} +!3295 = distinct !{!3295, !3296, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE256_clEv: %agg.result"} +!3296 = distinct !{!3296, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE256_clEv"} +!3297 = distinct !{!3297, !103} +!3298 = distinct !{!3298, !103} +!3299 = !{!3300} +!3300 = distinct !{!3300, !3301, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE_clESA_: %agg.result"} +!3301 = distinct !{!3301, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE_clESA_"} +!3302 = !{!3303} +!3303 = distinct !{!3303, !3304, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE308_clEv: %agg.result"} +!3304 = distinct !{!3304, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE308_clEv"} +!3305 = !{!3306} +!3306 = distinct !{!3306, !3307, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!3307 = distinct !{!3307, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} +!3308 = !{!3309} +!3309 = distinct !{!3309, !3310, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!3310 = distinct !{!3310, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!3311 = distinct !{!3311, !103} +!3312 = !{!3313, !129, i64 0} +!3313 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} +!3314 = distinct !{!3314, !103} +!3315 = distinct !{!3315, !103} +!3316 = !{!3317} +!3317 = distinct !{!3317, !3318, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!3318 = distinct !{!3318, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!3319 = !{!3320} +!3320 = distinct !{!3320, !3321, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE415_clEv: %agg.result"} +!3321 = distinct !{!3321, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE415_clEv"} +!3322 = !{!3323} +!3323 = distinct !{!3323, !3324, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE309_clEv: %agg.result"} +!3324 = distinct !{!3324, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE309_clEv"} +!3325 = !{!3326} +!3326 = distinct !{!3326, !3327, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} +!3327 = distinct !{!3327, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} +!3328 = !{!3329} +!3329 = distinct !{!3329, !3330, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE331_clEv: %agg.result"} +!3330 = distinct !{!3330, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE331_clEv"} +!3331 = !{i32 10787017} +!3332 = !{!3333} +!3333 = distinct !{!3333, !3334, !"_Z15__invoke_asinpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!3334 = distinct !{!3334, !"_Z15__invoke_asinpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!3335 = distinct !{!3335, !103} +!3336 = !{!3337} +!3337 = distinct !{!3337, !3338, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE512_clEv: %agg.result"} +!3338 = distinct !{!3338, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE512_clEv"} +!3339 = !{!3340, !129, i64 0} +!3340 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!3341 = !{!3342} +!3342 = distinct !{!3342, !3343, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE278_clEv: %agg.result"} +!3343 = distinct !{!3343, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE278_clEv"} +!3344 = !{!3345} +!3345 = distinct !{!3345, !3346, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE168_clEv: %agg.result"} +!3346 = distinct !{!3346, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE168_clEv"} +!3347 = !{!3348, !129, i64 0} +!3348 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!3349 = !{!3350, !129, i64 24} +!3350 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!3351 = !{!3352} +!3352 = distinct !{!3352, !3353, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE797_clEv: %agg.result"} +!3353 = distinct !{!3353, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE797_clEv"} +!3354 = !{!3355} +!3355 = distinct !{!3355, !3356, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} +!3356 = distinct !{!3356, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} +!3357 = !{!3358} +!3358 = distinct !{!3358, !3359, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE49_clEv: %agg.result"} +!3359 = distinct !{!3359, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE49_clEv"} +!3360 = !{!3361} +!3361 = distinct !{!3361, !3362, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3362 = distinct !{!3362, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3363 = !{!3364} +!3364 = distinct !{!3364, !3365, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE746_clEv: %agg.result"} +!3365 = distinct !{!3365, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE746_clEv"} +!3366 = !{!2518, !129, i64 8} +!3367 = !{!3368} +!3368 = distinct !{!3368, !3369, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!3369 = distinct !{!3369, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_S6_ET_T0_T1_T2_"} +!3370 = !{!3371} +!3371 = distinct !{!3371, !3372, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} +!3372 = distinct !{!3372, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} +!3373 = distinct !{!3373, !103} +!3374 = distinct !{!3374, !103} +!3375 = !{i32 12004936} +!3376 = !{!3377} +!3377 = distinct !{!3377, !3378, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE597_clEv: %agg.result"} +!3378 = distinct !{!3378, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE597_clEv"} +!3379 = !{!3380} +!3380 = distinct !{!3380, !3381, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE155_clEv: %agg.result"} +!3381 = distinct !{!3381, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE155_clEv"} +!3382 = !{!3383} +!3383 = distinct !{!3383, !3384, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!3384 = distinct !{!3384, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!3385 = !{!3386} +!3386 = distinct !{!3386, !3387, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE385_clEv: %agg.result"} +!3387 = distinct !{!3387, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE385_clEv"} +!3388 = distinct !{!3388, !103} +!3389 = !{!3390} +!3390 = distinct !{!3390, !3391, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!3391 = distinct !{!3391, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!3392 = !{!3393} +!3393 = distinct !{!3393, !3394, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE761_clEv: %agg.result"} +!3394 = distinct !{!3394, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE761_clEv"} +!3395 = !{!3396} +!3396 = distinct !{!3396, !3397, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3397 = distinct !{!3397, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3398 = distinct !{!3398, !103} +!3399 = !{!3400} +!3400 = distinct !{!3400, !3401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE772_clEv: %agg.result"} +!3401 = distinct !{!3401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE772_clEv"} +!3402 = !{!3403} +!3403 = distinct !{!3403, !3404, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_: %agg.result"} +!3404 = distinct !{!3404, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_"} +!3405 = !{!3406} +!3406 = distinct !{!3406, !3407, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3407 = distinct !{!3407, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3408 = !{!3409} +!3409 = distinct !{!3409, !3410, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3410 = distinct !{!3410, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3411 = !{!3412} +!3412 = distinct !{!3412, !3413, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE215_clEv: %agg.result"} +!3413 = distinct !{!3413, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE215_clEv"} +!3414 = !{!3415} +!3415 = distinct !{!3415, !3416, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE662_clEv: %agg.result"} +!3416 = distinct !{!3416, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE662_clEv"} +!3417 = !{!3418, !129, i64 0} +!3418 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!3419 = !{!3420} +!3420 = distinct !{!3420, !3421, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE3_clESD_: %agg.result"} +!3421 = distinct !{!3421, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE3_clESD_"} +!3422 = !{!3423} +!3423 = distinct !{!3423, !3424, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE188_clEv: %agg.result"} +!3424 = distinct !{!3424, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE188_clEv"} +!3425 = !{i32 10814395} +!3426 = !{!3427} +!3427 = distinct !{!3427, !3428, !"_Z13__invoke_sinhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!3428 = distinct !{!3428, !"_Z13__invoke_sinhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!3429 = distinct !{!3429, !103} +!3430 = !{!3431} +!3431 = distinct !{!3431, !3432, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE582_clEv: %agg.result"} +!3432 = distinct !{!3432, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE582_clEv"} +!3433 = distinct !{!3433, !103} +!3434 = !{!3435} +!3435 = distinct !{!3435, !3436, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE393_clEv: %agg.result"} +!3436 = distinct !{!3436, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE393_clEv"} +!3437 = !{!3438} +!3438 = distinct !{!3438, !3439, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE621_clEv: %agg.result"} +!3439 = distinct !{!3439, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE621_clEv"} +!3440 = !{!3441, !129, i64 0} +!3441 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEE", !129, i64 0} +!3442 = distinct !{!3442, !103} +!3443 = !{i32 12919391} +!3444 = !{!3445} +!3445 = distinct !{!3445, !3446, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3446 = distinct !{!3446, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3447 = !{i32 5940986} +!3448 = !{!3449} +!3449 = distinct !{!3449, !3450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE418_clEv: %agg.result"} +!3450 = distinct !{!3450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE418_clEv"} +!3451 = !{i32 10788139} +!3452 = !{!3453} +!3453 = distinct !{!3453, !3454, !"_Z15__invoke_atanpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!3454 = distinct !{!3454, !"_Z15__invoke_atanpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!3455 = distinct !{!3455, !103} +!3456 = !{!3457} +!3457 = distinct !{!3457, !3458, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE577_clEv: %agg.result"} +!3458 = distinct !{!3458, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE577_clEv"} +!3459 = !{!3460, !129, i64 0} +!3460 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} +!3461 = distinct !{!3461, !103} +!3462 = !{!3463, !129, i64 0} +!3463 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EEE", !129, i64 0} +!3464 = distinct !{!3464, !103} +!3465 = !{!3466} +!3466 = distinct !{!3466, !3467, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!3467 = distinct !{!3467, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!3468 = distinct !{!3468, !103} +!3469 = !{!3470, !129, i64 0} +!3470 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!3471 = !{!3470, !129, i64 8} +!3472 = !{!3470, !129, i64 16} +!3473 = !{!3474} +!3474 = distinct !{!3474, !3475, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_: %agg.result"} +!3475 = distinct !{!3475, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_"} +!3476 = distinct !{!3476, !103} +!3477 = distinct !{!3477, !103} +!3478 = !{!3479} +!3479 = distinct !{!3479, !3480, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} +!3480 = distinct !{!3480, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} +!3481 = !{!3482} +!3482 = distinct !{!3482, !3483, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE303_clEv: %agg.result"} +!3483 = distinct !{!3483, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE303_clEv"} +!3484 = !{!3485} +!3485 = distinct !{!3485, !3486, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3486 = distinct !{!3486, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3487 = !{!3488} +!3488 = distinct !{!3488, !3489, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE532_clEv: %agg.result"} +!3489 = distinct !{!3489, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE532_clEv"} +!3490 = !{!3491} +!3491 = distinct !{!3491, !3492, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE424_clEv: %agg.result"} +!3492 = distinct !{!3492, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE424_clEv"} +!3493 = !{!3494} +!3494 = distinct !{!3494, !3495, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3495 = distinct !{!3495, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3496 = !{!3497} +!3497 = distinct !{!3497, !3498, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE667_clEv: %agg.result"} +!3498 = distinct !{!3498, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE667_clEv"} +!3499 = !{!3500} +!3500 = distinct !{!3500, !3501, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!3501 = distinct !{!3501, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!3502 = !{!3503} +!3503 = distinct !{!3503, !3504, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!3504 = distinct !{!3504, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!3505 = distinct !{!3505, !103} +!3506 = distinct !{!3506, !103} +!3507 = !{!3508} +!3508 = distinct !{!3508, !3509, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3509 = distinct !{!3509, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3510 = !{!3511} +!3511 = distinct !{!3511, !3512, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!3512 = distinct !{!3512, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} +!3513 = !{!3514} +!3514 = distinct !{!3514, !3515, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_: %agg.result"} +!3515 = distinct !{!3515, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_"} +!3516 = distinct !{!3516, !103} +!3517 = !{!3518} +!3518 = distinct !{!3518, !3519, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE416_clEv: %agg.result"} +!3519 = distinct !{!3519, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE416_clEv"} +!3520 = !{!3521} +!3521 = distinct !{!3521, !3522, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} +!3522 = distinct !{!3522, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} +!3523 = !{!3524} +!3524 = distinct !{!3524, !3525, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE3_clEv: %agg.result"} +!3525 = distinct !{!3525, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE3_clEv"} +!3526 = !{!3527} +!3527 = distinct !{!3527, !3528, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} +!3528 = distinct !{!3528, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} +!3529 = !{!3530} +!3530 = distinct !{!3530, !3531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE246_clEv: %agg.result"} +!3531 = distinct !{!3531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE246_clEv"} +!3532 = !{!3533} +!3533 = distinct !{!3533, !3534, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE224_clEv: %agg.result"} +!3534 = distinct !{!3534, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE224_clEv"} +!3535 = !{!3536} +!3536 = distinct !{!3536, !3537, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE1_clESA_: %agg.result"} +!3537 = distinct !{!3537, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE1_clESA_"} +!3538 = distinct !{!3538, !103} +!3539 = !{!3540} +!3540 = distinct !{!3540, !3541, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE0_clESD_: %agg.result"} +!3541 = distinct !{!3541, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE0_clESD_"} +!3542 = !{!3543} +!3543 = distinct !{!3543, !3544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE24_clEv: %agg.result"} +!3544 = distinct !{!3544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE24_clEv"} +!3545 = !{!3546} +!3546 = distinct !{!3546, !3547, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE762_clEv: %agg.result"} +!3547 = distinct !{!3547, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE762_clEv"} +!3548 = !{!3549} +!3549 = distinct !{!3549, !3550, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE552_clEv: %agg.result"} +!3550 = distinct !{!3550, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE552_clEv"} +!3551 = !{!1427, !129, i64 8} +!3552 = !{!3553} +!3553 = distinct !{!3553, !3554, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE685_clEv: %agg.result"} +!3554 = distinct !{!3554, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE685_clEv"} +!3555 = !{!3556} +!3556 = distinct !{!3556, !3557, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE37_clEv: %agg.result"} +!3557 = distinct !{!3557, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE37_clEv"} +!3558 = !{i32 10883960} +!3559 = !{!3560} +!3560 = distinct !{!3560, !3561, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3561 = distinct !{!3561, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3562 = distinct !{!3562, !103} +!3563 = !{!3564} +!3564 = distinct !{!3564, !3565, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE342_clEv: %agg.result"} +!3565 = distinct !{!3565, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE342_clEv"} +!3566 = !{!3567} +!3567 = distinct !{!3567, !3568, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE228_clEv: %agg.result"} +!3568 = distinct !{!3568, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE228_clEv"} +!3569 = !{!3570} +!3570 = distinct !{!3570, !3571, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!3571 = distinct !{!3571, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!3572 = distinct !{!3572, !103} +!3573 = !{!572, !129, i64 8} +!3574 = !{!572, !129, i64 16} +!3575 = !{!572, !129, i64 24} +!3576 = distinct !{!3576, !103} +!3577 = !{!3578} +!3578 = distinct !{!3578, !3579, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE105_clEv: %agg.result"} +!3579 = distinct !{!3579, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE105_clEv"} +!3580 = !{!3581} +!3581 = distinct !{!3581, !3582, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE160_clEv: %agg.result"} +!3582 = distinct !{!3582, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE160_clEv"} +!3583 = !{!3584} +!3584 = distinct !{!3584, !3585, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!3585 = distinct !{!3585, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!3586 = !{!3587} +!3587 = distinct !{!3587, !3588, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE326_clEv: %agg.result"} +!3588 = distinct !{!3588, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE326_clEv"} +!3589 = !{!3590} +!3590 = distinct !{!3590, !3591, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} +!3591 = distinct !{!3591, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} +!3592 = !{!3593, !129, i64 0} +!3593 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!3594 = !{!3593, !129, i64 8} +!3595 = !{!3596} +!3596 = distinct !{!3596, !3597, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE195_clEv: %agg.result"} +!3597 = distinct !{!3597, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE195_clEv"} +!3598 = !{!3599} +!3599 = distinct !{!3599, !3600, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!3600 = distinct !{!3600, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!3601 = !{!3602} +!3602 = distinct !{!3602, !3603, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE4_clESA_: %agg.result"} +!3603 = distinct !{!3603, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE4_clESA_"} +!3604 = !{!3605, !129, i64 0} +!3605 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!3606 = !{!3607} +!3607 = distinct !{!3607, !3608, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_T2_: %agg.result"} +!3608 = distinct !{!3608, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_T2_"} +!3609 = !{!3610} +!3610 = distinct !{!3610, !3611, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE23_clEv: %agg.result"} +!3611 = distinct !{!3611, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE23_clEv"} +!3612 = !{!3613} +!3613 = distinct !{!3613, !3614, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE734_clEv: %agg.result"} +!3614 = distinct !{!3614, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE734_clEv"} +!3615 = !{!3616} +!3616 = distinct !{!3616, !3617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE294_clEv: %agg.result"} +!3617 = distinct !{!3617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE294_clEv"} +!3618 = !{!3619} +!3619 = distinct !{!3619, !3620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE185_clEv: %agg.result"} +!3620 = distinct !{!3620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE185_clEv"} +!3621 = !{!3622, !129, i64 24} +!3622 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} +!3623 = !{!3624, !129, i64 0} +!3624 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} +!3625 = !{!3626} +!3626 = distinct !{!3626, !3627, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE483_clEv: %agg.result"} +!3627 = distinct !{!3627, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE483_clEv"} +!3628 = !{!3629} +!3629 = distinct !{!3629, !3630, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!3630 = distinct !{!3630, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!3631 = !{!3632} +!3632 = distinct !{!3632, !3633, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE634_clEv: %agg.result"} +!3633 = distinct !{!3633, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE634_clEv"} +!3634 = distinct !{!3634, !103} +!3635 = !{!3636} +!3636 = distinct !{!3636, !3637, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!3637 = distinct !{!3637, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!3638 = !{i32 6670757} +!3639 = distinct !{!3639, !103} +!3640 = !{!3641} +!3641 = distinct !{!3641, !3642, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE31_clEv: %agg.result"} +!3642 = distinct !{!3642, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE31_clEv"} +!3643 = !{!3644, !129, i64 0} +!3644 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} +!3645 = distinct !{!3645, !103} +!3646 = !{!3647} +!3647 = distinct !{!3647, !3648, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE497_clEv: %agg.result"} +!3648 = distinct !{!3648, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE497_clEv"} +!3649 = !{!3650} +!3650 = distinct !{!3650, !3651, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE817_clEv: %agg.result"} +!3651 = distinct !{!3651, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE817_clEv"} +!3652 = !{!3653} +!3653 = distinct !{!3653, !3654, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE697_clEv: %agg.result"} +!3654 = distinct !{!3654, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE697_clEv"} +!3655 = distinct !{!3655, !103} +!3656 = distinct !{!3656, !103} +!3657 = !{!3658} +!3658 = distinct !{!3658, !3659, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!3659 = distinct !{!3659, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} +!3660 = !{!3661} +!3661 = distinct !{!3661, !3662, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE13_clEv: %agg.result"} +!3662 = distinct !{!3662, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE13_clEv"} +!3663 = !{!3664} +!3664 = distinct !{!3664, !3665, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE682_clEv: %agg.result"} +!3665 = distinct !{!3665, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE682_clEv"} +!3666 = !{!3667} +!3667 = distinct !{!3667, !3668, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE760_clEv: %agg.result"} +!3668 = distinct !{!3668, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE760_clEv"} +!3669 = !{!3670} +!3670 = distinct !{!3670, !3671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} +!3671 = distinct !{!3671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} +!3672 = distinct !{!3672, !103} +!3673 = !{!3674} +!3674 = distinct !{!3674, !3675, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!3675 = distinct !{!3675, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!3676 = distinct !{!3676, !103} +!3677 = !{!3678} +!3678 = distinct !{!3678, !3679, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE372_clEv: %agg.result"} +!3679 = distinct !{!3679, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE372_clEv"} +!3680 = !{!3681, !129, i64 0} +!3681 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} +!3682 = !{!3683} +!3683 = distinct !{!3683, !3684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE430_clEv: %agg.result"} +!3684 = distinct !{!3684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE430_clEv"} +!3685 = !{!3686} +!3686 = distinct !{!3686, !3687, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE656_clEv: %agg.result"} +!3687 = distinct !{!3687, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE656_clEv"} +!3688 = !{!3689} +!3689 = distinct !{!3689, !3690, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!3690 = distinct !{!3690, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_S6_ET_T0_T1_T2_"} +!3691 = !{!3692} +!3692 = distinct !{!3692, !3693, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE50_clEv: %agg.result"} +!3693 = distinct !{!3693, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE50_clEv"} +!3694 = !{!2799, !129, i64 8} +!3695 = !{!3696} +!3696 = distinct !{!3696, !3697, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!3697 = distinct !{!3697, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!3698 = !{!3699} +!3699 = distinct !{!3699, !3700, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE2_clES8_: %agg.result"} +!3700 = distinct !{!3700, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE2_clES8_"} +!3701 = !{!647, !129, i64 8} +!3702 = !{!647, !129, i64 16} +!3703 = !{!647, !129, i64 24} +!3704 = !{!3705} +!3705 = distinct !{!3705, !3706, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3706 = distinct !{!3706, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3707 = !{!3077, !129, i64 8} +!3708 = !{!3709} +!3709 = distinct !{!3709, !3710, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE55_clEv: %agg.result"} +!3710 = distinct !{!3710, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE55_clEv"} +!3711 = !{!3211, !129, i64 8} +!3712 = distinct !{!3712, !103} +!3713 = !{!3714} +!3714 = distinct !{!3714, !3715, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE2_clESD_: %agg.result"} +!3715 = distinct !{!3715, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE2_clESD_"} +!3716 = distinct !{!3716, !103} +!3717 = !{!3718, !129, i64 0} +!3718 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} +!3719 = !{!3720} +!3720 = distinct !{!3720, !3721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE361_clEv: %agg.result"} +!3721 = distinct !{!3721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE361_clEv"} +!3722 = !{!3723, !129, i64 0} +!3723 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!3724 = !{!3725} +!3725 = distinct !{!3725, !3726, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE109_clEv: %agg.result"} +!3726 = distinct !{!3726, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE109_clEv"} +!3727 = !{!1816, !129, i64 8} +!3728 = !{!3729} +!3729 = distinct !{!3729, !3730, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE612_clEv: %agg.result"} +!3730 = distinct !{!3730, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE612_clEv"} +!3731 = distinct !{!3731, !103} +!3732 = !{!3733} +!3733 = distinct !{!3733, !3734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE159_clEv: %agg.result"} +!3734 = distinct !{!3734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE159_clEv"} +!3735 = !{!3348, !129, i64 8} +!3736 = !{!3348, !129, i64 16} +!3737 = !{!3348, !129, i64 24} +!3738 = distinct !{!3738, !103} +!3739 = distinct !{!3739, !103} +!3740 = !{!3741} +!3741 = distinct !{!3741, !3742, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_: %agg.result"} +!3742 = distinct !{!3742, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_"} +!3743 = distinct !{!3743, !103} +!3744 = !{!3745} +!3745 = distinct !{!3745, !3746, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE36_clEv: %agg.result"} +!3746 = distinct !{!3746, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE36_clEv"} +!3747 = !{!1976, !129, i64 8} +!3748 = !{!1976, !129, i64 16} +!3749 = !{!1976, !129, i64 24} +!3750 = !{!3751} +!3751 = distinct !{!3751, !3752, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!3752 = distinct !{!3752, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!3753 = distinct !{!3753, !103} +!3754 = !{!3755} +!3755 = distinct !{!3755, !3756, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE61_clEv: %agg.result"} +!3756 = distinct !{!3756, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE61_clEv"} +!3757 = !{!3758} +!3758 = distinct !{!3758, !3759, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!3759 = distinct !{!3759, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!3760 = distinct !{!3760, !103} +!3761 = !{!3762} +!3762 = distinct !{!3762, !3763, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESJ_: %agg.result"} +!3763 = distinct !{!3763, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESJ_"} +!3764 = !{!3765} +!3765 = distinct !{!3765, !3766, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE12_clEv: %agg.result"} +!3766 = distinct !{!3766, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE12_clEv"} +!3767 = !{!3768} +!3768 = distinct !{!3768, !3769, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE4_clESD_: %agg.result"} +!3769 = distinct !{!3769, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE4_clESD_"} +!3770 = !{i32 10803666} +!3771 = !{!3772} +!3772 = distinct !{!3772, !3773, !"_Z15__invoke_maxmagIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!3773 = distinct !{!3773, !"_Z15__invoke_maxmagIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!3774 = distinct !{!3774, !103} +!3775 = !{i32 516001} +!3776 = !{!3777} +!3777 = distinct !{!3777, !3778, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE780_clEv: %agg.result"} +!3778 = distinct !{!3778, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE780_clEv"} +!3779 = !{!3780, !129, i64 0} +!3780 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} +!3781 = !{!3782} +!3782 = distinct !{!3782, !3783, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!3783 = distinct !{!3783, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!3784 = distinct !{!3784, !103} +!3785 = !{!3786} +!3786 = distinct !{!3786, !3787, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE116_clEv: %agg.result"} +!3787 = distinct !{!3787, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE116_clEv"} +!3788 = !{!3789} +!3789 = distinct !{!3789, !3790, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!3790 = distinct !{!3790, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!3791 = !{!3792} +!3792 = distinct !{!3792, !3793, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE_clESD_: %agg.result"} +!3793 = distinct !{!3793, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE_clESD_"} +!3794 = !{!3795} +!3795 = distinct !{!3795, !3796, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE128_clEv: %agg.result"} +!3796 = distinct !{!3796, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE128_clEv"} +!3797 = !{!3798} +!3798 = distinct !{!3798, !3799, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE286_clEv: %agg.result"} +!3799 = distinct !{!3799, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE286_clEv"} +!3800 = distinct !{!3800, !103} +!3801 = !{!3624, !129, i64 8} +!3802 = !{!3803} +!3803 = distinct !{!3803, !3804, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE285_clEv: %agg.result"} +!3804 = distinct !{!3804, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE285_clEv"} +!3805 = !{!3806} +!3806 = distinct !{!3806, !3807, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE68_clEv: %agg.result"} +!3807 = distinct !{!3807, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE68_clEv"} +!3808 = !{!3809} +!3809 = distinct !{!3809, !3810, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE72_clEv: %agg.result"} +!3810 = distinct !{!3810, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE72_clEv"} +!3811 = !{!3812} +!3812 = distinct !{!3812, !3813, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE539_clEv: %agg.result"} +!3813 = distinct !{!3813, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE539_clEv"} +!3814 = distinct !{!3814, !103} +!3815 = !{!3816, !129, i64 0} +!3816 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!3817 = !{!3818, !129, i64 0} +!3818 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!3819 = distinct !{!3819, !103} +!3820 = distinct !{!3820, !103} +!3821 = !{!3822} +!3822 = distinct !{!3822, !3823, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE495_clEv: %agg.result"} +!3823 = distinct !{!3823, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE495_clEv"} +!3824 = !{!3825} +!3825 = distinct !{!3825, !3826, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3826 = distinct !{!3826, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3827 = distinct !{!3827, !103} +!3828 = distinct !{!3828, !103} +!3829 = !{!3830} +!3830 = distinct !{!3830, !3831, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} +!3831 = distinct !{!3831, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} +!3832 = !{i32 6671109} +!3833 = !{!3834} +!3834 = distinct !{!3834, !3835, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE545_clEv: %agg.result"} +!3835 = distinct !{!3835, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE545_clEv"} +!3836 = !{!3837} +!3837 = distinct !{!3837, !3838, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!3838 = distinct !{!3838, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!3839 = !{!3840} +!3840 = distinct !{!3840, !3841, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE6_clEv: %agg.result"} +!3841 = distinct !{!3841, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE6_clEv"} +!3842 = !{!3843} +!3843 = distinct !{!3843, !3844, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE583_clEv: %agg.result"} +!3844 = distinct !{!3844, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE583_clEv"} +!3845 = !{!3846} +!3846 = distinct !{!3846, !3847, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE434_clEv: %agg.result"} +!3847 = distinct !{!3847, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE434_clEv"} +!3848 = !{!3849} +!3849 = distinct !{!3849, !3850, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE19_clEv: %agg.result"} +!3850 = distinct !{!3850, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE19_clEv"} +!3851 = distinct !{!3851, !103} +!3852 = !{i32 -2140805424} +!3853 = !{!3854} +!3854 = distinct !{!3854, !3855, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE805_clEv: %agg.result"} +!3855 = distinct !{!3855, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE805_clEv"} +!3856 = !{!3857} +!3857 = distinct !{!3857, !3858, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE130_clEv: %agg.result"} +!3858 = distinct !{!3858, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE130_clEv"} +!3859 = !{!3860} +!3860 = distinct !{!3860, !3861, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!3861 = distinct !{!3861, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!3862 = !{!3863} +!3863 = distinct !{!3863, !3864, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE112_clEv: %agg.result"} +!3864 = distinct !{!3864, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE112_clEv"} +!3865 = !{!3866} +!3866 = distinct !{!3866, !3867, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE788_clEv: %agg.result"} +!3867 = distinct !{!3867, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE788_clEv"} +!3868 = !{!3869, !129, i64 0} +!3869 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!3870 = !{!3869, !129, i64 8} +!3871 = !{!3869, !129, i64 16} +!3872 = !{!3873} +!3873 = distinct !{!3873, !3874, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE759_clEv: %agg.result"} +!3874 = distinct !{!3874, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE759_clEv"} +!3875 = !{!3876} +!3876 = distinct !{!3876, !3877, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE755_clEv: %agg.result"} +!3877 = distinct !{!3877, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE755_clEv"} +!3878 = !{!3879, !129, i64 0} +!3879 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} +!3880 = distinct !{!3880, !103} +!3881 = !{!3882} +!3882 = distinct !{!3882, !3883, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE4_clESD_: %agg.result"} +!3883 = distinct !{!3883, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE4_clESD_"} +!3884 = !{!3885} +!3885 = distinct !{!3885, !3886, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE481_clEv: %agg.result"} +!3886 = distinct !{!3886, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE481_clEv"} +!3887 = !{!3888} +!3888 = distinct !{!3888, !3889, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE1_clESD_: %agg.result"} +!3889 = distinct !{!3889, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE1_clESD_"} +!3890 = !{i32 6672683} +!3891 = !{!3892} +!3892 = distinct !{!3892, !3893, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3893 = distinct !{!3893, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3894 = !{!3895} +!3895 = distinct !{!3895, !3896, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!3896 = distinct !{!3896, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!3897 = !{!3898} +!3898 = distinct !{!3898, !3899, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} +!3899 = distinct !{!3899, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} +!3900 = !{!3901} +!3901 = distinct !{!3901, !3902, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE572_clEv: %agg.result"} +!3902 = distinct !{!3902, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE572_clEv"} +!3903 = !{!3904} +!3904 = distinct !{!3904, !3905, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!3905 = distinct !{!3905, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} +!3906 = !{!3907} +!3907 = distinct !{!3907, !3908, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE687_clEv: %agg.result"} +!3908 = distinct !{!3908, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE687_clEv"} +!3909 = !{!3910} +!3910 = distinct !{!3910, !3911, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE469_clEv: %agg.result"} +!3911 = distinct !{!3911, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE469_clEv"} +!3912 = !{!3913} +!3913 = distinct !{!3913, !3914, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE207_clEv: %agg.result"} +!3914 = distinct !{!3914, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE207_clEv"} +!3915 = !{!3916} +!3916 = distinct !{!3916, !3917, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE1_clEv: %agg.result"} +!3917 = distinct !{!3917, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE1_clEv"} +!3918 = !{!3919} +!3919 = distinct !{!3919, !3920, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE368_clEv: %agg.result"} +!3920 = distinct !{!3920, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE368_clEv"} +!3921 = !{!3922} +!3922 = distinct !{!3922, !3923, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE2_clESA_: %agg.result"} +!3923 = distinct !{!3923, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE2_clESA_"} +!3924 = distinct !{!3924, !103} +!3925 = !{!3926, !129, i64 0} +!3926 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} +!3927 = !{!373, !129, i64 8} +!3928 = !{!3929} +!3929 = distinct !{!3929, !3930, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!3930 = distinct !{!3930, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!3931 = !{!3932} +!3932 = distinct !{!3932, !3933, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3933 = distinct !{!3933, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3934 = !{!3935, !129, i64 0} +!3935 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!3936 = !{!3935, !129, i64 8} +!3937 = !{!3935, !129, i64 16} +!3938 = !{!3939} +!3939 = distinct !{!3939, !3940, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE219_clEv: %agg.result"} +!3940 = distinct !{!3940, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE219_clEv"} +!3941 = !{!3942} +!3942 = distinct !{!3942, !3943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE28_clEv: %agg.result"} +!3943 = distinct !{!3943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE28_clEv"} +!3944 = !{!3945, !129, i64 0} +!3945 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} +!3946 = !{!3947} +!3947 = distinct !{!3947, !3948, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} +!3948 = distinct !{!3948, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} +!3949 = !{!3950} +!3950 = distinct !{!3950, !3951, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!3951 = distinct !{!3951, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!3952 = !{i32 10815143} +!3953 = !{!3954} +!3954 = distinct !{!3954, !3955, !"_Z13__invoke_sqrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!3955 = distinct !{!3955, !"_Z13__invoke_sqrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!3956 = !{!3957} +!3957 = distinct !{!3957, !3958, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!3958 = distinct !{!3958, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!3959 = !{!3960} +!3960 = distinct !{!3960, !3961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE629_clEv: %agg.result"} +!3961 = distinct !{!3961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE629_clEv"} +!3962 = !{!3963} +!3963 = distinct !{!3963, !3964, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE710_clEv: %agg.result"} +!3964 = distinct !{!3964, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE710_clEv"} +!3965 = !{!3966} +!3966 = distinct !{!3966, !3967, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE398_clEv: %agg.result"} +!3967 = distinct !{!3967, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE398_clEv"} +!3968 = distinct !{!3968, !103} +!3969 = !{!3970, !129, i64 0} +!3970 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!3971 = !{!3970, !129, i64 8} +!3972 = !{!3970, !129, i64 16} +!3973 = !{!3970, !129, i64 24} +!3974 = !{!1002, !129, i64 8} +!3975 = !{!3976} +!3976 = distinct !{!3976, !3977, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!3977 = distinct !{!3977, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!3978 = !{i32 6846138} +!3979 = !{!3980} +!3980 = distinct !{!3980, !3981, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE387_clEv: %agg.result"} +!3981 = distinct !{!3981, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE387_clEv"} +!3982 = !{!3983} +!3983 = distinct !{!3983, !3984, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE672_clEv: %agg.result"} +!3984 = distinct !{!3984, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE672_clEv"} +!3985 = distinct !{!3985, !103} +!3986 = !{!3987} +!3987 = distinct !{!3987, !3988, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE34_clEv: %agg.result"} +!3988 = distinct !{!3988, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE34_clEv"} +!3989 = !{!3990} +!3990 = distinct !{!3990, !3991, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE220_clEv: %agg.result"} +!3991 = distinct !{!3991, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE220_clEv"} +!3992 = !{!3993} +!3993 = distinct !{!3993, !3994, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!3994 = distinct !{!3994, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!3995 = !{!3996} +!3996 = distinct !{!3996, !3997, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE536_clEv: %agg.result"} +!3997 = distinct !{!3997, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE536_clEv"} +!3998 = distinct !{!3998, !103} +!3999 = !{!4000} +!4000 = distinct !{!4000, !4001, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE816_clEv: %agg.result"} +!4001 = distinct !{!4001, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE816_clEv"} +!4002 = !{!4003} +!4003 = distinct !{!4003, !4004, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4004 = distinct !{!4004, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4005 = !{!4006} +!4006 = distinct !{!4006, !4007, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} +!4007 = distinct !{!4007, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} +!4008 = !{!4009} +!4009 = distinct !{!4009, !4010, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE163_clEv: %agg.result"} +!4010 = distinct !{!4010, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE163_clEv"} +!4011 = !{!4012} +!4012 = distinct !{!4012, !4013, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE446_clEv: %agg.result"} +!4013 = distinct !{!4013, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE446_clEv"} +!4014 = !{!4015} +!4015 = distinct !{!4015, !4016, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE484_clEv: %agg.result"} +!4016 = distinct !{!4016, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE484_clEv"} +!4017 = !{!4018} +!4018 = distinct !{!4018, !4019, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE741_clEv: %agg.result"} +!4019 = distinct !{!4019, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE741_clEv"} +!4020 = !{!4021} +!4021 = distinct !{!4021, !4022, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} +!4022 = distinct !{!4022, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} +!4023 = !{!4024} +!4024 = distinct !{!4024, !4025, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE445_clEv: %agg.result"} +!4025 = distinct !{!4025, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE445_clEv"} +!4026 = distinct !{!4026, !103} +!4027 = !{!4028} +!4028 = distinct !{!4028, !4029, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4029 = distinct !{!4029, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4030 = !{!4031} +!4031 = distinct !{!4031, !4032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE241_clEv: %agg.result"} +!4032 = distinct !{!4032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE241_clEv"} +!4033 = !{!4034} +!4034 = distinct !{!4034, !4035, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4035 = distinct !{!4035, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4036 = !{!4037} +!4037 = distinct !{!4037, !4038, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE289_clEv: %agg.result"} +!4038 = distinct !{!4038, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE289_clEv"} +!4039 = !{i32 10793234} +!4040 = !{!4041} +!4041 = distinct !{!4041, !4042, !"_Z13__invoke_fabsIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!4042 = distinct !{!4042, !"_Z13__invoke_fabsIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!4043 = !{!4044} +!4044 = distinct !{!4044, !4045, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE131_clEv: %agg.result"} +!4045 = distinct !{!4045, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE131_clEv"} +!4046 = !{!4047} +!4047 = distinct !{!4047, !4048, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!4048 = distinct !{!4048, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!4049 = !{!4050} +!4050 = distinct !{!4050, !4051, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESJ_: %agg.result"} +!4051 = distinct !{!4051, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESJ_"} +!4052 = !{!4053} +!4053 = distinct !{!4053, !4054, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE125_clEv: %agg.result"} +!4054 = distinct !{!4054, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE125_clEv"} +!4055 = !{i32 -2140798505} +!4056 = !{!4057} +!4057 = distinct !{!4057, !4058, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE60_clEv: %agg.result"} +!4058 = distinct !{!4058, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE60_clEv"} +!4059 = !{!4060} +!4060 = distinct !{!4060, !4061, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE440_clEv: %agg.result"} +!4061 = distinct !{!4061, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE440_clEv"} +!4062 = !{!4063} +!4063 = distinct !{!4063, !4064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE548_clEv: %agg.result"} +!4064 = distinct !{!4064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE548_clEv"} +!4065 = distinct !{!4065, !103} +!4066 = !{!4067} +!4067 = distinct !{!4067, !4068, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!4068 = distinct !{!4068, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!4069 = distinct !{!4069, !103} +!4070 = !{!4071} +!4071 = distinct !{!4071, !4072, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE337_clEv: %agg.result"} +!4072 = distinct !{!4072, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE337_clEv"} +!4073 = !{!4074} +!4074 = distinct !{!4074, !4075, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE529_clEv: %agg.result"} +!4075 = distinct !{!4075, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE529_clEv"} +!4076 = !{i32 1160987} +!4077 = !{!4078} +!4078 = distinct !{!4078, !4079, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_: %agg.result"} +!4079 = distinct !{!4079, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_"} +!4080 = distinct !{!4080, !103} +!4081 = !{!4082} +!4082 = distinct !{!4082, !4083, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} +!4083 = distinct !{!4083, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} +!4084 = !{!4085} +!4085 = distinct !{!4085, !4086, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE395_clEv: %agg.result"} +!4086 = distinct !{!4086, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE395_clEv"} +!4087 = distinct !{!4087, !103} +!4088 = !{!4089} +!4089 = distinct !{!4089, !4090, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE737_clEv: %agg.result"} +!4090 = distinct !{!4090, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE737_clEv"} +!4091 = distinct !{!4091, !103} +!4092 = !{!4093} +!4093 = distinct !{!4093, !4094, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} +!4094 = distinct !{!4094, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} +!4095 = !{!4096} +!4096 = distinct !{!4096, !4097, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE782_clEv: %agg.result"} +!4097 = distinct !{!4097, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE782_clEv"} +!4098 = !{!4099} +!4099 = distinct !{!4099, !4100, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE5_clEv: %agg.result"} +!4100 = distinct !{!4100, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE5_clEv"} +!4101 = !{!4102} +!4102 = distinct !{!4102, !4103, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!4103 = distinct !{!4103, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} +!4104 = !{!4105, !129, i64 0} +!4105 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!4106 = !{!4107} +!4107 = distinct !{!4107, !4108, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4108 = distinct !{!4108, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4109 = distinct !{!4109, !103} +!4110 = !{!4111} +!4111 = distinct !{!4111, !4112, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4112 = distinct !{!4112, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4113 = !{!4114} +!4114 = distinct !{!4114, !4115, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4115 = distinct !{!4115, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4116 = distinct !{!4116, !103} +!4117 = distinct !{!4117, !103} +!4118 = !{!4119} +!4119 = distinct !{!4119, !4120, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE242_clEv: %agg.result"} +!4120 = distinct !{!4120, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE242_clEv"} +!4121 = !{!4122} +!4122 = distinct !{!4122, !4123, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE113_clEv: %agg.result"} +!4123 = distinct !{!4123, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE113_clEv"} +!4124 = !{!2998, !129, i64 8} +!4125 = !{!2998, !129, i64 16} +!4126 = !{!2998, !129, i64 24} +!4127 = !{!4128} +!4128 = distinct !{!4128, !4129, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE742_clEv: %agg.result"} +!4129 = distinct !{!4129, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE742_clEv"} +!4130 = distinct !{!4130, !103} +!4131 = !{!4132} +!4132 = distinct !{!4132, !4133, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE441_clEv: %agg.result"} +!4133 = distinct !{!4133, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE441_clEv"} +!4134 = !{!4135} +!4135 = distinct !{!4135, !4136, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE45_clEv: %agg.result"} +!4136 = distinct !{!4136, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE45_clEv"} +!4137 = !{!4138} +!4138 = distinct !{!4138, !4139, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE499_clEv: %agg.result"} +!4139 = distinct !{!4139, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE499_clEv"} +!4140 = distinct !{!4140, !103} +!4141 = !{!4142} +!4142 = distinct !{!4142, !4143, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE627_clEv: %agg.result"} +!4143 = distinct !{!4143, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE627_clEv"} +!4144 = distinct !{!4144, !103} +!4145 = !{!4146} +!4146 = distinct !{!4146, !4147, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!4147 = distinct !{!4147, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!4148 = distinct !{!4148, !103} +!4149 = !{!4150} +!4150 = distinct !{!4150, !4151, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4151 = distinct !{!4151, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4152 = distinct !{!4152, !103} +!4153 = !{!4154} +!4154 = distinct !{!4154, !4155, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!4155 = distinct !{!4155, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!4156 = !{!3276, !129, i64 8} +!4157 = distinct !{!4157, !103} +!4158 = distinct !{!4158, !103} +!4159 = !{!4160} +!4160 = distinct !{!4160, !4161, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE799_clEv: %agg.result"} +!4161 = distinct !{!4161, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE799_clEv"} +!4162 = !{!4163} +!4163 = distinct !{!4163, !4164, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} +!4164 = distinct !{!4164, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} +!4165 = !{!4166, !129, i64 0} +!4166 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!4167 = !{!4166, !129, i64 8} +!4168 = distinct !{!4168, !103} +!4169 = !{!4170} +!4170 = distinct !{!4170, !4171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE365_clEv: %agg.result"} +!4171 = distinct !{!4171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE365_clEv"} +!4172 = distinct !{!4172, !103} +!4173 = !{!4174} +!4174 = distinct !{!4174, !4175, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE592_clEv: %agg.result"} +!4175 = distinct !{!4175, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE592_clEv"} +!4176 = !{i32 10810496} +!4177 = !{!4178} +!4178 = distinct !{!4178, !4179, !"_Z14__invoke_roundIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!4179 = distinct !{!4179, !"_Z14__invoke_roundIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!4180 = !{!4181} +!4181 = distinct !{!4181, !4182, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!4182 = distinct !{!4182, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!4183 = !{!4184} +!4184 = distinct !{!4184, !4185, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE575_clEv: %agg.result"} +!4185 = distinct !{!4185, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE575_clEv"} +!4186 = !{!4187} +!4187 = distinct !{!4187, !4188, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE524_clEv: %agg.result"} +!4188 = distinct !{!4188, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE524_clEv"} +!4189 = !{!4190} +!4190 = distinct !{!4190, !4191, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE126_clEv: %agg.result"} +!4191 = distinct !{!4191, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE126_clEv"} +!4192 = distinct !{!4192, !103} +!4193 = !{!4194} +!4194 = distinct !{!4194, !4195, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE768_clEv: %agg.result"} +!4195 = distinct !{!4195, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE768_clEv"} +!4196 = distinct !{!4196, !103} +!4197 = !{!4198} +!4198 = distinct !{!4198, !4199, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE412_clEv: %agg.result"} +!4199 = distinct !{!4199, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE412_clEv"} +!4200 = distinct !{!4200, !103} +!4201 = distinct !{!4201, !103} +!4202 = distinct !{!4202, !103} +!4203 = !{!4204, !129, i64 0} +!4204 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!4205 = !{!4206} +!4206 = distinct !{!4206, !4207, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!4207 = distinct !{!4207, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!4208 = !{!4209} +!4209 = distinct !{!4209, !4210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE0_clES8_: %agg.result"} +!4210 = distinct !{!4210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE0_clES8_"} +!4211 = !{!4212} +!4212 = distinct !{!4212, !4213, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!4213 = distinct !{!4213, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!4214 = !{!4215} +!4215 = distinct !{!4215, !4216, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE179_clEv: %agg.result"} +!4216 = distinct !{!4216, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE179_clEv"} +!4217 = !{!2263, !129, i64 8} +!4218 = distinct !{!4218, !103} +!4219 = !{!4220} +!4220 = distinct !{!4220, !4221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE544_clEv: %agg.result"} +!4221 = distinct !{!4221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE544_clEv"} +!4222 = !{i32 10798361} +!4223 = !{!4224} +!4224 = distinct !{!4224, !4225, !"_Z14__invoke_hypotIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!4225 = distinct !{!4225, !"_Z14__invoke_hypotIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!4226 = !{!4227} +!4227 = distinct !{!4227, !4228, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE2_clESA_: %agg.result"} +!4228 = distinct !{!4228, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE2_clESA_"} +!4229 = !{i32 10816352} +!4230 = !{!4231} +!4231 = distinct !{!4231, !4232, !"_Z14__invoke_tanpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!4232 = distinct !{!4232, !"_Z14__invoke_tanpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!4233 = !{!4234} +!4234 = distinct !{!4234, !4235, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE724_clEv: %agg.result"} +!4235 = distinct !{!4235, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE724_clEv"} +!4236 = !{!4237} +!4237 = distinct !{!4237, !4238, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!4238 = distinct !{!4238, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!4239 = !{!4240} +!4240 = distinct !{!4240, !4241, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4241 = distinct !{!4241, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4242 = !{!4243} +!4243 = distinct !{!4243, !4244, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE391_clEv: %agg.result"} +!4244 = distinct !{!4244, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE391_clEv"} +!4245 = !{!4246} +!4246 = distinct !{!4246, !4247, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE0_clESA_: %agg.result"} +!4247 = distinct !{!4247, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE0_clESA_"} +!4248 = !{!3605, !129, i64 8} +!4249 = !{!4250} +!4250 = distinct !{!4250, !4251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE208_clEv: %agg.result"} +!4251 = distinct !{!4251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE208_clEv"} +!4252 = !{!4253} +!4253 = distinct !{!4253, !4254, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4254 = distinct !{!4254, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4255 = !{!4256} +!4256 = distinct !{!4256, !4257, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} +!4257 = distinct !{!4257, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_S6_ET_T0_T1_T2_"} +!4258 = distinct !{!4258, !103} +!4259 = !{!4260} +!4260 = distinct !{!4260, !4261, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE649_clEv: %agg.result"} +!4261 = distinct !{!4261, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE649_clEv"} +!4262 = !{!4263} +!4263 = distinct !{!4263, !4264, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE553_clEv: %agg.result"} +!4264 = distinct !{!4264, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE553_clEv"} +!4265 = !{!4266} +!4266 = distinct !{!4266, !4267, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE9_clEv: %agg.result"} +!4267 = distinct !{!4267, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE9_clEv"} +!4268 = !{!4269} +!4269 = distinct !{!4269, !4270, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4270 = distinct !{!4270, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4271 = !{!4272} +!4272 = distinct !{!4272, !4273, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_: %agg.result"} +!4273 = distinct !{!4273, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_"} +!4274 = !{!4275} +!4275 = distinct !{!4275, !4276, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!4276 = distinct !{!4276, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!4277 = !{!4278} +!4278 = distinct !{!4278, !4279, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE288_clEv: %agg.result"} +!4279 = distinct !{!4279, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE288_clEv"} +!4280 = !{!4281} +!4281 = distinct !{!4281, !4282, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!4282 = distinct !{!4282, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!4283 = !{i32 10810982} +!4284 = !{!4285} +!4285 = distinct !{!4285, !4286, !"_Z14__invoke_rsqrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!4286 = distinct !{!4286, !"_Z14__invoke_rsqrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!4287 = !{!4288} +!4288 = distinct !{!4288, !4289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE438_clEv: %agg.result"} +!4289 = distinct !{!4289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE438_clEv"} +!4290 = !{!4291} +!4291 = distinct !{!4291, !4292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE2_clESD_: %agg.result"} +!4292 = distinct !{!4292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE2_clESD_"} +!4293 = distinct !{!4293, !103} +!4294 = !{i32 10816084} +!4295 = !{!4296} +!4296 = distinct !{!4296, !4297, !"_Z13__invoke_tanhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!4297 = distinct !{!4297, !"_Z13__invoke_tanhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!4298 = !{!4299} +!4299 = distinct !{!4299, !4300, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE549_clEv: %agg.result"} +!4300 = distinct !{!4300, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE549_clEv"} +!4301 = !{!4302} +!4302 = distinct !{!4302, !4303, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!4303 = distinct !{!4303, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!4304 = distinct !{!4304, !103} +!4305 = !{!4306} +!4306 = distinct !{!4306, !4307, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!4307 = distinct !{!4307, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!4308 = !{!4309} +!4309 = distinct !{!4309, !4310, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE588_clEv: %agg.result"} +!4310 = distinct !{!4310, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE588_clEv"} +!4311 = !{!4312} +!4312 = distinct !{!4312, !4313, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4313 = distinct !{!4313, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4314 = !{!4315} +!4315 = distinct !{!4315, !4316, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!4316 = distinct !{!4316, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!4317 = !{!4318} +!4318 = distinct !{!4318, !4319, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE319_clEv: %agg.result"} +!4319 = distinct !{!4319, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE319_clEv"} +!4320 = !{!4321} +!4321 = distinct !{!4321, !4322, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4322 = distinct !{!4322, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4323 = distinct !{!4323, !103} +!4324 = !{!4325} +!4325 = distinct !{!4325, !4326, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE239_clEv: %agg.result"} +!4326 = distinct !{!4326, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE239_clEv"} +!4327 = !{!4328} +!4328 = distinct !{!4328, !4329, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4329 = distinct !{!4329, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4330 = distinct !{!4330, !103} +!4331 = !{!4332} +!4332 = distinct !{!4332, !4333, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE297_clEv: %agg.result"} +!4333 = distinct !{!4333, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE297_clEv"} +!4334 = !{!4335} +!4335 = distinct !{!4335, !4336, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE134_clEv: %agg.result"} +!4336 = distinct !{!4336, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE134_clEv"} +!4337 = !{!4338} +!4338 = distinct !{!4338, !4339, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} +!4339 = distinct !{!4339, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} +!4340 = distinct !{!4340, !103} +!4341 = !{!4342} +!4342 = distinct !{!4342, !4343, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4343 = distinct !{!4343, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4344 = distinct !{!4344, !103} +!4345 = !{!4346} +!4346 = distinct !{!4346, !4347, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE164_clEv: %agg.result"} +!4347 = distinct !{!4347, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE164_clEv"} +!4348 = !{!4349} +!4349 = distinct !{!4349, !4350, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE774_clEv: %agg.result"} +!4350 = distinct !{!4350, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE774_clEv"} +!4351 = distinct !{!4351, !103} +!4352 = !{!4353} +!4353 = distinct !{!4353, !4354, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE_clEv: %agg.result"} +!4354 = distinct !{!4354, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE_clEv"} +!4355 = !{!4356} +!4356 = distinct !{!4356, !4357, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!4357 = distinct !{!4357, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!4358 = !{!4359} +!4359 = distinct !{!4359, !4360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE152_clEv: %agg.result"} +!4360 = distinct !{!4360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE152_clEv"} +!4361 = !{!4362} +!4362 = distinct !{!4362, !4363, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!4363 = distinct !{!4363, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!4364 = distinct !{!4364, !103} +!4365 = !{i32 -2140790176} +!4366 = !{!4367} +!4367 = distinct !{!4367, !4368, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE628_clEv: %agg.result"} +!4368 = distinct !{!4368, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE628_clEv"} +!4369 = !{!4370} +!4370 = distinct !{!4370, !4371, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE630_clEv: %agg.result"} +!4371 = distinct !{!4371, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE630_clEv"} +!4372 = !{!4105, !129, i64 8} +!4373 = !{!4105, !129, i64 16} +!4374 = !{!4105, !129, i64 24} +!4375 = !{!4376} +!4376 = distinct !{!4376, !4377, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE111_clEv: %agg.result"} +!4377 = distinct !{!4377, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE111_clEv"} +!4378 = !{!4379} +!4379 = distinct !{!4379, !4380, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE211_clEv: %agg.result"} +!4380 = distinct !{!4380, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE211_clEv"} +!4381 = !{!4382} +!4382 = distinct !{!4382, !4383, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE1_clESA_: %agg.result"} +!4383 = distinct !{!4383, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE1_clESA_"} +!4384 = !{!4385, !129, i64 0} +!4385 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEE", !129, i64 0} +!4386 = distinct !{!4386, !103} +!4387 = !{!4388} +!4388 = distinct !{!4388, !4389, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4389 = distinct !{!4389, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4390 = !{!4391} +!4391 = distinct !{!4391, !4392, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4392 = distinct !{!4392, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4393 = !{!4394} +!4394 = distinct !{!4394, !4395, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4395 = distinct !{!4395, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4396 = !{!4397} +!4397 = distinct !{!4397, !4398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE343_clEv: %agg.result"} +!4398 = distinct !{!4398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE343_clEv"} +!4399 = !{!4400} +!4400 = distinct !{!4400, !4401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE580_clEv: %agg.result"} +!4401 = distinct !{!4401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE580_clEv"} +!4402 = !{!4403} +!4403 = distinct !{!4403, !4404, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE444_clEv: %agg.result"} +!4404 = distinct !{!4404, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE444_clEv"} +!4405 = !{!4406} +!4406 = distinct !{!4406, !4407, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE1_clES8_: %agg.result"} +!4407 = distinct !{!4407, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE1_clES8_"} +!4408 = distinct !{!4408, !103} +!4409 = !{!4410} +!4410 = distinct !{!4410, !4411, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} +!4411 = distinct !{!4411, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} +!4412 = !{!4413} +!4413 = distinct !{!4413, !4414, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE810_clEv: %agg.result"} +!4414 = distinct !{!4414, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE810_clEv"} +!4415 = !{!4416} +!4416 = distinct !{!4416, !4417, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE4_clESA_: %agg.result"} +!4417 = distinct !{!4417, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE4_clESA_"} +!4418 = !{!4419} +!4419 = distinct !{!4419, !4420, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE735_clEv: %agg.result"} +!4420 = distinct !{!4420, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE735_clEv"} +!4421 = distinct !{!4421, !103} +!4422 = distinct !{!4422, !103} +!4423 = !{!3723, !129, i64 8} +!4424 = !{!4425} +!4425 = distinct !{!4425, !4426, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE547_clEv: %agg.result"} +!4426 = distinct !{!4426, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE547_clEv"} +!4427 = distinct !{!4427, !103} +!4428 = distinct !{!4428, !103} +!4429 = !{i32 9881422} +!4430 = !{!4431} +!4431 = distinct !{!4431, !4432, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!4432 = distinct !{!4432, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!4433 = !{!4434} +!4434 = distinct !{!4434, !4435, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!4435 = distinct !{!4435, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!4436 = distinct !{!4436, !103} +!4437 = distinct !{!4437, !103} +!4438 = !{!4439} +!4439 = distinct !{!4439, !4440, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE462_clEv: %agg.result"} +!4440 = distinct !{!4440, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE462_clEv"} +!4441 = !{!4442} +!4442 = distinct !{!4442, !4443, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE0_clEv: %agg.result"} +!4443 = distinct !{!4443, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE0_clEv"} +!4444 = !{!4445} +!4445 = distinct !{!4445, !4446, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4446 = distinct !{!4446, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4447 = distinct !{!4447, !103} +!4448 = !{!4449} +!4449 = distinct !{!4449, !4450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE633_clEv: %agg.result"} +!4450 = distinct !{!4450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE633_clEv"} +!4451 = !{!4452} +!4452 = distinct !{!4452, !4453, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE321_clEv: %agg.result"} +!4453 = distinct !{!4453, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE321_clEv"} +!4454 = !{!4455} +!4455 = distinct !{!4455, !4456, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE698_clEv: %agg.result"} +!4456 = distinct !{!4456, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE698_clEv"} +!4457 = !{!4458} +!4458 = distinct !{!4458, !4459, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE791_clEv: %agg.result"} +!4459 = distinct !{!4459, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE791_clEv"} +!4460 = !{!4461} +!4461 = distinct !{!4461, !4462, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4462 = distinct !{!4462, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4463 = distinct !{!4463, !103} +!4464 = !{!4465} +!4465 = distinct !{!4465, !4466, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!4466 = distinct !{!4466, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!4467 = !{!4468} +!4468 = distinct !{!4468, !4469, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE32_clEv: %agg.result"} +!4469 = distinct !{!4469, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE32_clEv"} +!4470 = !{!2406, !129, i64 8} +!4471 = !{!2406, !129, i64 16} +!4472 = !{!4473} +!4473 = distinct !{!4473, !4474, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE369_clEv: %agg.result"} +!4474 = distinct !{!4474, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE369_clEv"} +!4475 = !{i32 9835124} +!4476 = distinct !{!4476, !103} +!4477 = !{!4478} +!4478 = distinct !{!4478, !4479, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE279_clEv: %agg.result"} +!4479 = distinct !{!4479, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE279_clEv"} +!4480 = !{!3418, !129, i64 8} +!4481 = !{!3418, !129, i64 16} +!4482 = !{!3418, !129, i64 24} +!4483 = !{!4484} +!4484 = distinct !{!4484, !4485, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE366_clEv: %agg.result"} +!4485 = distinct !{!4485, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE366_clEv"} +!4486 = !{!4204, !129, i64 8} +!4487 = !{!4204, !129, i64 16} +!4488 = !{!4489} +!4489 = distinct !{!4489, !4490, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE609_clEv: %agg.result"} +!4490 = distinct !{!4490, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE609_clEv"} +!4491 = !{!4492} +!4492 = distinct !{!4492, !4493, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE489_clEv: %agg.result"} +!4493 = distinct !{!4493, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE489_clEv"} +!4494 = !{!4495} +!4495 = distinct !{!4495, !4496, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!4496 = distinct !{!4496, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} +!4497 = distinct !{!4497, !103} +!4498 = !{!4499} +!4499 = distinct !{!4499, !4500, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE2_clEv: %agg.result"} +!4500 = distinct !{!4500, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE2_clEv"} +!4501 = !{!4502} +!4502 = distinct !{!4502, !4503, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE273_clEv: %agg.result"} +!4503 = distinct !{!4503, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE273_clEv"} +!4504 = !{!4505} +!4505 = distinct !{!4505, !4506, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!4506 = distinct !{!4506, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} +!4507 = !{!4508} +!4508 = distinct !{!4508, !4509, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4509 = distinct !{!4509, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4510 = !{!4511} +!4511 = distinct !{!4511, !4512, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE655_clEv: %agg.result"} +!4512 = distinct !{!4512, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE655_clEv"} +!4513 = !{!4514} +!4514 = distinct !{!4514, !4515, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4515 = distinct !{!4515, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4516 = !{!4517} +!4517 = distinct !{!4517, !4518, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4518 = distinct !{!4518, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4519 = distinct !{!4519, !103} +!4520 = !{!4521} +!4521 = distinct !{!4521, !4522, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!4522 = distinct !{!4522, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!4523 = !{!4524} +!4524 = distinct !{!4524, !4525, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE196_clEv: %agg.result"} +!4525 = distinct !{!4525, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE196_clEv"} +!4526 = !{!4527} +!4527 = distinct !{!4527, !4528, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!4528 = distinct !{!4528, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!4529 = !{!4530} +!4530 = distinct !{!4530, !4531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE800_clEv: %agg.result"} +!4531 = distinct !{!4531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE800_clEv"} +!4532 = !{!4533} +!4533 = distinct !{!4533, !4534, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE264_clEv: %agg.result"} +!4534 = distinct !{!4534, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE264_clEv"} +!4535 = !{!4536} +!4536 = distinct !{!4536, !4537, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE775_clEv: %agg.result"} +!4537 = distinct !{!4537, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE775_clEv"} +!4538 = !{!4539} +!4539 = distinct !{!4539, !4540, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE307_clEv: %agg.result"} +!4540 = distinct !{!4540, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE307_clEv"} +!4541 = distinct !{!4541, !103} +!4542 = !{!4543} +!4543 = distinct !{!4543, !4544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE70_clEv: %agg.result"} +!4544 = distinct !{!4544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE70_clEv"} +!4545 = !{!4546} +!4546 = distinct !{!4546, !4547, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE302_clEv: %agg.result"} +!4547 = distinct !{!4547, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE302_clEv"} +!4548 = !{!4549} +!4549 = distinct !{!4549, !4550, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4550 = distinct !{!4550, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4551 = !{!4552} +!4552 = distinct !{!4552, !4553, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE526_clEv: %agg.result"} +!4553 = distinct !{!4553, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE526_clEv"} +!4554 = !{i32 10815719} +!4555 = !{!4556} +!4556 = distinct !{!4556, !4557, !"_Z12__invoke_tanIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!4557 = distinct !{!4557, !"_Z12__invoke_tanIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!4558 = !{!4559} +!4559 = distinct !{!4559, !4560, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE558_clEv: %agg.result"} +!4560 = distinct !{!4560, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE558_clEv"} +!4561 = !{!4562} +!4562 = distinct !{!4562, !4563, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE_clESD_: %agg.result"} +!4563 = distinct !{!4563, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE_clESD_"} +!4564 = !{!4565} +!4565 = distinct !{!4565, !4566, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4566 = distinct !{!4566, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4567 = !{!4568} +!4568 = distinct !{!4568, !4569, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE145_clEv: %agg.result"} +!4569 = distinct !{!4569, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE145_clEv"} +!4570 = !{i32 7573704} +!4571 = !{!4572} +!4572 = distinct !{!4572, !4573, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE422_clEv: %agg.result"} +!4573 = distinct !{!4573, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE422_clEv"} +!4574 = !{!4575} +!4575 = distinct !{!4575, !4576, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE500_clEv: %agg.result"} +!4576 = distinct !{!4576, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE500_clEv"} +!4577 = !{!3818, !129, i64 8} +!4578 = !{!3818, !129, i64 16} +!4579 = !{!4580} +!4580 = distinct !{!4580, !4581, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE622_clEv: %agg.result"} +!4581 = distinct !{!4581, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE622_clEv"} +!4582 = !{!4583} +!4583 = distinct !{!4583, !4584, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE106_clEv: %agg.result"} +!4584 = distinct !{!4584, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE106_clEv"} +!4585 = !{!4586, !129, i64 0} +!4586 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} +!4587 = !{!4588} +!4588 = distinct !{!4588, !4589, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE103_clEv: %agg.result"} +!4589 = distinct !{!4589, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE103_clEv"} +!4590 = !{!4591} +!4591 = distinct !{!4591, !4592, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!4592 = distinct !{!4592, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} +!4593 = !{!1722, !129, i64 8} +!4594 = !{!1722, !129, i64 16} +!4595 = !{!4596} +!4596 = distinct !{!4596, !4597, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE781_clEv: %agg.result"} +!4597 = distinct !{!4597, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE781_clEv"} +!4598 = !{!4599} +!4599 = distinct !{!4599, !4600, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE679_clEv: %agg.result"} +!4600 = distinct !{!4600, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE679_clEv"} +!4601 = !{!4602} +!4602 = distinct !{!4602, !4603, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE753_clEv: %agg.result"} +!4603 = distinct !{!4603, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE753_clEv"} +!4604 = !{!4605} +!4605 = distinct !{!4605, !4606, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!4606 = distinct !{!4606, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} +!4607 = !{!4608} +!4608 = distinct !{!4608, !4609, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE230_clEv: %agg.result"} +!4609 = distinct !{!4609, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE230_clEv"} +!4610 = distinct !{!4610, !103} +!4611 = !{!4612} +!4612 = distinct !{!4612, !4613, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4613 = distinct !{!4613, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4614 = distinct !{!4614, !103} +!4615 = !{!4616} +!4616 = distinct !{!4616, !4617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE501_clEv: %agg.result"} +!4617 = distinct !{!4617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE501_clEv"} +!4618 = !{!4619} +!4619 = distinct !{!4619, !4620, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4620 = distinct !{!4620, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4621 = !{!4622} +!4622 = distinct !{!4622, !4623, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE284_clEv: %agg.result"} +!4623 = distinct !{!4623, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE284_clEv"} +!4624 = !{!4625} +!4625 = distinct !{!4625, !4626, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} +!4626 = distinct !{!4626, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} +!4627 = !{!4628} +!4628 = distinct !{!4628, !4629, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4629 = distinct !{!4629, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4630 = distinct !{!4630, !103} +!4631 = !{!4632} +!4632 = distinct !{!4632, !4633, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE315_clEv: %agg.result"} +!4633 = distinct !{!4633, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE315_clEv"} +!4634 = !{!4635} +!4635 = distinct !{!4635, !4636, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE546_clEv: %agg.result"} +!4636 = distinct !{!4636, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE546_clEv"} +!4637 = !{!4638, !129, i64 0} +!4638 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} +!4639 = !{!858, !129, i64 8} +!4640 = !{!858, !129, i64 16} +!4641 = !{!858, !129, i64 24} +!4642 = !{!4643} +!4643 = distinct !{!4643, !4644, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE140_clEv: %agg.result"} +!4644 = distinct !{!4644, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE140_clEv"} +!4645 = !{!4646} +!4646 = distinct !{!4646, !4647, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4647 = distinct !{!4647, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4648 = !{!4649} +!4649 = distinct !{!4649, !4650, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4650 = distinct !{!4650, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4651 = !{!4652} +!4652 = distinct !{!4652, !4653, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!4653 = distinct !{!4653, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} +!4654 = !{!4655} +!4655 = distinct !{!4655, !4656, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE123_clEv: %agg.result"} +!4656 = distinct !{!4656, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE123_clEv"} +!4657 = !{!2104, !129, i64 8} +!4658 = !{!4659} +!4659 = distinct !{!4659, !4660, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE341_clEv: %agg.result"} +!4660 = distinct !{!4660, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE341_clEv"} +!4661 = !{!4662} +!4662 = distinct !{!4662, !4663, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE259_clEv: %agg.result"} +!4663 = distinct !{!4663, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE259_clEv"} +!4664 = distinct !{!4664, !103} +!4665 = !{!4666} +!4666 = distinct !{!4666, !4667, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!4667 = distinct !{!4667, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} +!4668 = distinct !{!4668, !103} +!4669 = !{!4670} +!4670 = distinct !{!4670, !4671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE4_clESA_: %agg.result"} +!4671 = distinct !{!4671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE4_clESA_"} +!4672 = !{!4673} +!4673 = distinct !{!4673, !4674, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE166_clEv: %agg.result"} +!4674 = distinct !{!4674, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE166_clEv"} +!4675 = !{!4676} +!4676 = distinct !{!4676, !4677, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} +!4677 = distinct !{!4677, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} +!4678 = distinct !{!4678, !103} +!4679 = !{!4680} +!4680 = distinct !{!4680, !4681, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} +!4681 = distinct !{!4681, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} +!4682 = !{!4683} +!4683 = distinct !{!4683, !4684, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4684 = distinct !{!4684, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4685 = distinct !{!4685, !103} +!4686 = !{!4687} +!4687 = distinct !{!4687, !4688, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE528_clEv: %agg.result"} +!4688 = distinct !{!4688, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE528_clEv"} +!4689 = !{!4690} +!4690 = distinct !{!4690, !4691, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE783_clEv: %agg.result"} +!4691 = distinct !{!4691, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE783_clEv"} +!4692 = distinct !{!4692, !103} +!4693 = distinct !{!4693, !103} +!4694 = distinct !{!4694, !103} +!4695 = !{!4696} +!4696 = distinct !{!4696, !4697, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} +!4697 = distinct !{!4697, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} +!4698 = !{!4699} +!4699 = distinct !{!4699, !4700, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE237_clEv: %agg.result"} +!4700 = distinct !{!4700, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE237_clEv"} +!4701 = !{!4702} +!4702 = distinct !{!4702, !4703, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE403_clEv: %agg.result"} +!4703 = distinct !{!4703, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE403_clEv"} +!4704 = !{!4705} +!4705 = distinct !{!4705, !4706, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE437_clEv: %agg.result"} +!4706 = distinct !{!4706, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE437_clEv"} +!4707 = !{!4708} +!4708 = distinct !{!4708, !4709, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4709 = distinct !{!4709, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4710 = !{!4711} +!4711 = distinct !{!4711, !4712, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE650_clEv: %agg.result"} +!4712 = distinct !{!4712, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE650_clEv"} +!4713 = !{!4714} +!4714 = distinct !{!4714, !4715, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!4715 = distinct !{!4715, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!4716 = !{!4717} +!4717 = distinct !{!4717, !4718, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE673_clEv: %agg.result"} +!4718 = distinct !{!4718, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE673_clEv"} +!4719 = !{!4720} +!4720 = distinct !{!4720, !4721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE83_clEv: %agg.result"} +!4721 = distinct !{!4721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE83_clEv"} +!4722 = !{!4723} +!4723 = distinct !{!4723, !4724, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE708_clEv: %agg.result"} +!4724 = distinct !{!4724, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE708_clEv"} +!4725 = !{i32 6027457} +!4726 = !{i32 1393655} +!4727 = !{!4728} +!4728 = distinct !{!4728, !4729, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!4729 = distinct !{!4729, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!4730 = !{!4731} +!4731 = distinct !{!4731, !4732, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE291_clEv: %agg.result"} +!4732 = distinct !{!4732, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE291_clEv"} +!4733 = distinct !{!4733, !103} +!4734 = !{!4735} +!4735 = distinct !{!4735, !4736, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE174_clEv: %agg.result"} +!4736 = distinct !{!4736, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE174_clEv"} +!4737 = !{!4738} +!4738 = distinct !{!4738, !4739, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!4739 = distinct !{!4739, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!4740 = !{!4741} +!4741 = distinct !{!4741, !4742, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE_clESD_: %agg.result"} +!4742 = distinct !{!4742, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE_clESD_"} +!4743 = !{!4586, !129, i64 8} +!4744 = !{!4586, !129, i64 16} +!4745 = !{i32 6011226} +!4746 = !{!1985, !129, i64 8} +!4747 = !{!1985, !129, i64 16} +!4748 = !{!4749} +!4749 = distinct !{!4749, !4750, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} +!4750 = distinct !{!4750, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} +!4751 = !{!4752} +!4752 = distinct !{!4752, !4753, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE397_clEv: %agg.result"} +!4753 = distinct !{!4753, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE397_clEv"} +!4754 = !{!4755} +!4755 = distinct !{!4755, !4756, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4756 = distinct !{!4756, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4757 = !{!4758} +!4758 = distinct !{!4758, !4759, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE428_clEv: %agg.result"} +!4759 = distinct !{!4759, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE428_clEv"} +!4760 = !{!4761} +!4761 = distinct !{!4761, !4762, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE725_clEv: %agg.result"} +!4762 = distinct !{!4762, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE725_clEv"} +!4763 = !{!4764} +!4764 = distinct !{!4764, !4765, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE515_clEv: %agg.result"} +!4765 = distinct !{!4765, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE515_clEv"} +!4766 = !{!4767} +!4767 = distinct !{!4767, !4768, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE818_clEv: %agg.result"} +!4768 = distinct !{!4768, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE818_clEv"} +!4769 = !{i32 10790430} +!4770 = !{!4771} +!4771 = distinct !{!4771, !4772, !"_Z14__invoke_cospiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!4772 = distinct !{!4772, !"_Z14__invoke_cospiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!4773 = !{!4774} +!4774 = distinct !{!4774, !4775, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4775 = distinct !{!4775, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4776 = distinct !{!4776, !103} +!4777 = !{!4778} +!4778 = distinct !{!4778, !4779, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE335_clEv: %agg.result"} +!4779 = distinct !{!4779, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE335_clEv"} +!4780 = distinct !{!4780, !103} +!4781 = !{!4782} +!4782 = distinct !{!4782, !4783, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE692_clEv: %agg.result"} +!4783 = distinct !{!4783, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE692_clEv"} +!4784 = distinct !{!4784, !103} +!4785 = distinct !{!4785, !103} +!4786 = !{!4787} +!4787 = distinct !{!4787, !4788, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE401_clEv: %agg.result"} +!4788 = distinct !{!4788, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE401_clEv"} +!4789 = !{!4790} +!4790 = distinct !{!4790, !4791, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!4791 = distinct !{!4791, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!4792 = !{!4793} +!4793 = distinct !{!4793, !4794, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4794 = distinct !{!4794, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4795 = !{!4796} +!4796 = distinct !{!4796, !4797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE312_clEv: %agg.result"} +!4797 = distinct !{!4797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE312_clEv"} +!4798 = !{!4799} +!4799 = distinct !{!4799, !4800, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE661_clEv: %agg.result"} +!4800 = distinct !{!4800, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE661_clEv"} +!4801 = !{!4802} +!4802 = distinct !{!4802, !4803, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4803 = distinct !{!4803, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4804 = distinct !{!4804, !103} +!4805 = distinct !{!4805, !103} +!4806 = !{!4807} +!4807 = distinct !{!4807, !4808, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE694_clEv: %agg.result"} +!4808 = distinct !{!4808, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE694_clEv"} +!4809 = distinct !{!4809, !103} +!4810 = !{!4811} +!4811 = distinct !{!4811, !4812, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESG_: %agg.result"} +!4812 = distinct !{!4812, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESG_"} +!4813 = !{!4814} +!4814 = distinct !{!4814, !4815, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} +!4815 = distinct !{!4815, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} +!4816 = !{!4817} +!4817 = distinct !{!4817, !4818, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE313_clEv: %agg.result"} +!4818 = distinct !{!4818, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE313_clEv"} +!4819 = !{!4820} +!4820 = distinct !{!4820, !4821, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE809_clEv: %agg.result"} +!4821 = distinct !{!4821, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE809_clEv"} +!4822 = !{!4823} +!4823 = distinct !{!4823, !4824, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} +!4824 = distinct !{!4824, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} +!4825 = !{!4638, !129, i64 8} +!4826 = !{!4638, !129, i64 16} +!4827 = !{!4638, !129, i64 24} +!4828 = !{!4829} +!4829 = distinct !{!4829, !4830, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE699_clEv: %agg.result"} +!4830 = distinct !{!4830, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE699_clEv"} +!4831 = !{!4832} +!4832 = distinct !{!4832, !4833, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!4833 = distinct !{!4833, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!4834 = !{!4835} +!4835 = distinct !{!4835, !4836, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE1_clESD_: %agg.result"} +!4836 = distinct !{!4836, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE1_clESD_"} +!4837 = distinct !{!4837, !103} +!4838 = distinct !{!4838, !103} +!4839 = distinct !{!4839, !103} +!4840 = !{!4841} +!4841 = distinct !{!4841, !4842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE261_clEv: %agg.result"} +!4842 = distinct !{!4842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE261_clEv"} +!4843 = !{!4844} +!4844 = distinct !{!4844, !4845, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4845 = distinct !{!4845, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4846 = !{!4847} +!4847 = distinct !{!4847, !4848, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE3_clESA_: %agg.result"} +!4848 = distinct !{!4848, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE3_clESA_"} +!4849 = !{!4850} +!4850 = distinct !{!4850, !4851, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!4851 = distinct !{!4851, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!4852 = !{!4853} +!4853 = distinct !{!4853, !4854, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE_clESA_: %agg.result"} +!4854 = distinct !{!4854, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE_clESA_"} +!4855 = !{!4856} +!4856 = distinct !{!4856, !4857, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4857 = distinct !{!4857, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4858 = !{!4859} +!4859 = distinct !{!4859, !4860, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE576_clEv: %agg.result"} +!4860 = distinct !{!4860, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE576_clEv"} +!4861 = !{!4862} +!4862 = distinct !{!4862, !4863, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE611_clEv: %agg.result"} +!4863 = distinct !{!4863, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE611_clEv"} +!4864 = distinct !{!4864, !103} +!4865 = distinct !{!4865, !103} +!4866 = !{!4867} +!4867 = distinct !{!4867, !4868, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE533_clEv: %agg.result"} +!4868 = distinct !{!4868, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE533_clEv"} +!4869 = distinct !{!4869, !103} +!4870 = !{!4871} +!4871 = distinct !{!4871, !4872, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE334_clEv: %agg.result"} +!4872 = distinct !{!4872, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE334_clEv"} +!4873 = !{!4874} +!4874 = distinct !{!4874, !4875, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4875 = distinct !{!4875, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4876 = !{!4877} +!4877 = distinct !{!4877, !4878, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4878 = distinct !{!4878, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4879 = !{!4880} +!4880 = distinct !{!4880, !4881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE347_clEv: %agg.result"} +!4881 = distinct !{!4881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE347_clEv"} +!4882 = !{!4883} +!4883 = distinct !{!4883, !4884, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE33_clEv: %agg.result"} +!4884 = distinct !{!4884, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE33_clEv"} +!4885 = !{!4886} +!4886 = distinct !{!4886, !4887, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE21_clEv: %agg.result"} +!4887 = distinct !{!4887, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE21_clEv"} +!4888 = !{!4889} +!4889 = distinct !{!4889, !4890, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE115_clEv: %agg.result"} +!4890 = distinct !{!4890, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE115_clEv"} +!4891 = distinct !{!4891, !103} +!4892 = !{!4893} +!4893 = distinct !{!4893, !4894, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4894 = distinct !{!4894, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4895 = !{!4896} +!4896 = distinct !{!4896, !4897, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE534_clEv: %agg.result"} +!4897 = distinct !{!4897, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE534_clEv"} +!4898 = !{!4899} +!4899 = distinct !{!4899, !4900, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE92_clEv: %agg.result"} +!4900 = distinct !{!4900, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE92_clEv"} +!4901 = !{!4902, !129, i64 0} +!4902 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} +!4903 = !{!4904} +!4904 = distinct !{!4904, !4905, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!4905 = distinct !{!4905, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!4906 = !{!4907} +!4907 = distinct !{!4907, !4908, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE392_clEv: %agg.result"} +!4908 = distinct !{!4908, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE392_clEv"} +!4909 = !{!4910} +!4910 = distinct !{!4910, !4911, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!4911 = distinct !{!4911, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!4912 = !{!4913} +!4913 = distinct !{!4913, !4914, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4914 = distinct !{!4914, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4915 = !{!4916} +!4916 = distinct !{!4916, !4917, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE2_clESD_: %agg.result"} +!4917 = distinct !{!4917, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE2_clESD_"} +!4918 = distinct !{!4918, !103} +!4919 = !{!4920} +!4920 = distinct !{!4920, !4921, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE328_clEv: %agg.result"} +!4921 = distinct !{!4921, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE328_clEv"} +!4922 = !{!4923} +!4923 = distinct !{!4923, !4924, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!4924 = distinct !{!4924, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!4925 = !{!4926} +!4926 = distinct !{!4926, !4927, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE178_clEv: %agg.result"} +!4927 = distinct !{!4927, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE178_clEv"} +!4928 = !{!4929} +!4929 = distinct !{!4929, !4930, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE819_clEv: %agg.result"} +!4930 = distinct !{!4930, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE819_clEv"} +!4931 = !{!2896, !129, i64 8} +!4932 = !{!4933} +!4933 = distinct !{!4933, !4934, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE124_clEv: %agg.result"} +!4934 = distinct !{!4934, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE124_clEv"} +!4935 = !{!4936} +!4936 = distinct !{!4936, !4937, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!4937 = distinct !{!4937, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!4938 = !{!4939} +!4939 = distinct !{!4939, !4940, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE516_clEv: %agg.result"} +!4940 = distinct !{!4940, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE516_clEv"} +!4941 = !{!4942} +!4942 = distinct !{!4942, !4943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE674_clEv: %agg.result"} +!4943 = distinct !{!4943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE674_clEv"} +!4944 = !{!4945} +!4945 = distinct !{!4945, !4946, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE551_clEv: %agg.result"} +!4946 = distinct !{!4946, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE551_clEv"} +!4947 = !{!4948, !129, i64 0} +!4948 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} +!4949 = !{!4950} +!4950 = distinct !{!4950, !4951, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE336_clEv: %agg.result"} +!4951 = distinct !{!4951, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE336_clEv"} +!4952 = !{!4953} +!4953 = distinct !{!4953, !4954, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE22_clEv: %agg.result"} +!4954 = distinct !{!4954, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE22_clEv"} +!4955 = distinct !{!4955, !103} +!4956 = !{!4957} +!4957 = distinct !{!4957, !4958, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE2_clESA_: %agg.result"} +!4958 = distinct !{!4958, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE2_clESA_"} +!4959 = !{!4960} +!4960 = distinct !{!4960, !4961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE141_clEv: %agg.result"} +!4961 = distinct !{!4961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE141_clEv"} +!4962 = distinct !{!4962, !103} +!4963 = !{!4964} +!4964 = distinct !{!4964, !4965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE210_clEv: %agg.result"} +!4965 = distinct !{!4965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE210_clEv"} +!4966 = !{!4967} +!4967 = distinct !{!4967, !4968, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE100_clEv: %agg.result"} +!4968 = distinct !{!4968, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE100_clEv"} +!4969 = !{!4970} +!4970 = distinct !{!4970, !4971, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE414_clEv: %agg.result"} +!4971 = distinct !{!4971, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE414_clEv"} +!4972 = !{!4973} +!4973 = distinct !{!4973, !4974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESG_: %agg.result"} +!4974 = distinct !{!4974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESG_"} +!4975 = !{i32 10810214} +!4976 = !{!4977} +!4977 = distinct !{!4977, !4978, !"_Z14__invoke_rootnIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_: %agg.result"} +!4978 = distinct !{!4978, !"_Z14__invoke_rootnIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_"} +!4979 = !{!4980} +!4980 = distinct !{!4980, !4981, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE8_clEv: %agg.result"} +!4981 = distinct !{!4981, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE8_clEv"} +!4982 = !{i32 10806476} +!4983 = !{!4984} +!4984 = distinct !{!4984, !4985, !"_Z18__invoke_nextafterIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!4985 = distinct !{!4985, !"_Z18__invoke_nextafterIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!4986 = distinct !{!4986, !103} +!4987 = !{!4988} +!4988 = distinct !{!4988, !4989, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE663_clEv: %agg.result"} +!4989 = distinct !{!4989, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE663_clEv"} +!4990 = distinct !{!4990, !103} +!4991 = !{!1547, !129, i64 8} +!4992 = !{!1547, !129, i64 16} +!4993 = !{!1547, !129, i64 24} +!4994 = !{!4995} +!4995 = distinct !{!4995, !4996, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE433_clEv: %agg.result"} +!4996 = distinct !{!4996, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE433_clEv"} +!4997 = !{!4998} +!4998 = distinct !{!4998, !4999, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE268_clEv: %agg.result"} +!4999 = distinct !{!4999, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE268_clEv"} +!5000 = !{!5001} +!5001 = distinct !{!5001, !5002, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE97_clEv: %agg.result"} +!5002 = distinct !{!5002, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE97_clEv"} +!5003 = !{!5004} +!5004 = distinct !{!5004, !5005, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!5005 = distinct !{!5005, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!5006 = !{!5007} +!5007 = distinct !{!5007, !5008, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE739_clEv: %agg.result"} +!5008 = distinct !{!5008, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE739_clEv"} +!5009 = !{!5010} +!5010 = distinct !{!5010, !5011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} +!5011 = distinct !{!5011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} +!5012 = !{!5013} +!5013 = distinct !{!5013, !5014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE470_clEv: %agg.result"} +!5014 = distinct !{!5014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE470_clEv"} +!5015 = !{!5016} +!5016 = distinct !{!5016, !5017, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!5017 = distinct !{!5017, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!5018 = distinct !{!5018, !103} +!5019 = distinct !{!5019, !103} +!5020 = distinct !{!5020, !103} +!5021 = !{!5022} +!5022 = distinct !{!5022, !5023, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} +!5023 = distinct !{!5023, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} +!5024 = !{!5025} +!5025 = distinct !{!5025, !5026, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!5026 = distinct !{!5026, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} +!5027 = !{!5028} +!5028 = distinct !{!5028, !5029, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE766_clEv: %agg.result"} +!5029 = distinct !{!5029, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE766_clEv"} +!5030 = !{!5031} +!5031 = distinct !{!5031, !5032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE0_clESD_: %agg.result"} +!5032 = distinct !{!5032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE0_clESD_"} +!5033 = !{!5034} +!5034 = distinct !{!5034, !5035, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!5035 = distinct !{!5035, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!5036 = !{!4902, !129, i64 8} +!5037 = !{!5038} +!5038 = distinct !{!5038, !5039, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE225_clEv: %agg.result"} +!5039 = distinct !{!5039, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE225_clEv"} +!5040 = !{!5041} +!5041 = distinct !{!5041, !5042, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!5042 = distinct !{!5042, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!5043 = !{!5044} +!5044 = distinct !{!5044, !5045, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!5045 = distinct !{!5045, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} +!5046 = !{!5047} +!5047 = distinct !{!5047, !5048, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE668_clEv: %agg.result"} +!5048 = distinct !{!5048, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE668_clEv"} +!5049 = !{!5050} +!5050 = distinct !{!5050, !5051, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE290_clEv: %agg.result"} +!5051 = distinct !{!5051, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE290_clEv"} +!5052 = !{!5053} +!5053 = distinct !{!5053, !5054, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE192_clEv: %agg.result"} +!5054 = distinct !{!5054, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE192_clEv"} +!5055 = !{!5056} +!5056 = distinct !{!5056, !5057, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!5057 = distinct !{!5057, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!5058 = !{!5059} +!5059 = distinct !{!5059, !5060, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE227_clEv: %agg.result"} +!5060 = distinct !{!5060, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE227_clEv"} +!5061 = !{!5062} +!5062 = distinct !{!5062, !5063, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE535_clEv: %agg.result"} +!5063 = distinct !{!5063, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE535_clEv"} +!5064 = distinct !{!5064, !103} +!5065 = !{!5066} +!5066 = distinct !{!5066, !5067, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE137_clEv: %agg.result"} +!5067 = distinct !{!5067, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE137_clEv"} +!5068 = !{!5069} +!5069 = distinct !{!5069, !5070, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE265_clEv: %agg.result"} +!5070 = distinct !{!5070, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE265_clEv"} +!5071 = !{!5072} +!5072 = distinct !{!5072, !5073, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE122_clEv: %agg.result"} +!5073 = distinct !{!5073, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE122_clEv"} +!5074 = !{!5075} +!5075 = distinct !{!5075, !5076, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE538_clEv: %agg.result"} +!5076 = distinct !{!5076, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE538_clEv"} +!5077 = !{!5078} +!5078 = distinct !{!5078, !5079, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!5079 = distinct !{!5079, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!5080 = !{!5081} +!5081 = distinct !{!5081, !5082, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE557_clEv: %agg.result"} +!5082 = distinct !{!5082, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE557_clEv"} +!5083 = !{i32 8486545} +!5084 = !{!5085} +!5085 = distinct !{!5085, !5086, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE201_clEv: %agg.result"} +!5086 = distinct !{!5086, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE201_clEv"} +!5087 = !{!5088} +!5088 = distinct !{!5088, !5089, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE350_clEv: %agg.result"} +!5089 = distinct !{!5089, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE350_clEv"} +!5090 = !{!5091} +!5091 = distinct !{!5091, !5092, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_T2_: %agg.result"} +!5092 = distinct !{!5092, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_T2_"} +!5093 = !{!5094} +!5094 = distinct !{!5094, !5095, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE362_clEv: %agg.result"} +!5095 = distinct !{!5095, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE362_clEv"} +!5096 = !{!3816, !129, i64 8} +!5097 = !{!3816, !129, i64 16} +!5098 = !{!5099} +!5099 = distinct !{!5099, !5100, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} +!5100 = distinct !{!5100, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} +!5101 = distinct !{!5101, !103} +!5102 = !{!5103} +!5103 = distinct !{!5103, !5104, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!5104 = distinct !{!5104, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} +!5105 = !{!5106} +!5106 = distinct !{!5106, !5107, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE461_clEv: %agg.result"} +!5107 = distinct !{!5107, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE461_clEv"} +!5108 = distinct !{!5108, !103} +!5109 = !{!5110} +!5110 = distinct !{!5110, !5111, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESG_: %agg.result"} +!5111 = distinct !{!5111, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESG_"} +!5112 = !{!5113} +!5113 = distinct !{!5113, !5114, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE158_clEv: %agg.result"} +!5114 = distinct !{!5114, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE158_clEv"} +!5115 = !{!5116} +!5116 = distinct !{!5116, !5117, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE1_clESA_: %agg.result"} +!5117 = distinct !{!5117, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE1_clESA_"} +!5118 = !{!5119} +!5119 = distinct !{!5119, !5120, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!5120 = distinct !{!5120, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!5121 = !{i32 10787582} +!5122 = !{!5123} +!5123 = distinct !{!5123, !5124, !"_Z14__invoke_atan2IN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!5124 = distinct !{!5124, !"_Z14__invoke_atan2IN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!5125 = !{i32 10786207} +!5126 = !{!5127} +!5127 = distinct !{!5127, !5128, !"_Z15__invoke_acospiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!5128 = distinct !{!5128, !"_Z15__invoke_acospiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!5129 = !{!5130} +!5130 = distinct !{!5130, !5131, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE102_clEv: %agg.result"} +!5131 = distinct !{!5131, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE102_clEv"} +!5132 = distinct !{!5132, !103} +!5133 = !{!5134} +!5134 = distinct !{!5134, !5135, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE427_clEv: %agg.result"} +!5135 = distinct !{!5135, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE427_clEv"} +!5136 = !{!5137} +!5137 = distinct !{!5137, !5138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE4_clESA_: %agg.result"} +!5138 = distinct !{!5138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE4_clESA_"} +!5139 = !{!5140} +!5140 = distinct !{!5140, !5141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE796_clEv: %agg.result"} +!5141 = distinct !{!5141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE796_clEv"} +!5142 = !{!5143} +!5143 = distinct !{!5143, !5144, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} +!5144 = distinct !{!5144, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} +!5145 = distinct !{!5145, !103} +!5146 = !{!5147} +!5147 = distinct !{!5147, !5148, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!5148 = distinct !{!5148, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!5149 = !{!5150} +!5150 = distinct !{!5150, !5151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE554_clEv: %agg.result"} +!5151 = distinct !{!5151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE554_clEv"} +!5152 = !{!5153} +!5153 = distinct !{!5153, !5154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE726_clEv: %agg.result"} +!5154 = distinct !{!5154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE726_clEv"} +!5155 = !{i32 6825874} +!5156 = !{!5157} +!5157 = distinct !{!5157, !5158, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE258_clEv: %agg.result"} +!5158 = distinct !{!5158, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE258_clEv"} +!5159 = !{!5160} +!5160 = distinct !{!5160, !5161, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!5161 = distinct !{!5161, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!5162 = !{!5163} +!5163 = distinct !{!5163, !5164, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE129_clEv: %agg.result"} +!5164 = distinct !{!5164, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE129_clEv"} +!5165 = !{!3340, !129, i64 8} +!5166 = !{!5167} +!5167 = distinct !{!5167, !5168, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE255_clEv: %agg.result"} +!5168 = distinct !{!5168, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE255_clEv"} +!5169 = !{!5170} +!5170 = distinct !{!5170, !5171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE4_clESA_: %agg.result"} +!5171 = distinct !{!5171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE4_clESA_"} +!5172 = distinct !{!5172, !103} +!5173 = !{!5174} +!5174 = distinct !{!5174, !5175, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} +!5175 = distinct !{!5175, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} +!5176 = !{!5177} +!5177 = distinct !{!5177, !5178, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!5178 = distinct !{!5178, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!5179 = !{!5180} +!5180 = distinct !{!5180, !5181, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE1_clESD_: %agg.result"} +!5181 = distinct !{!5181, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE1_clESD_"} +!5182 = !{!5183} +!5183 = distinct !{!5183, !5184, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE606_clEv: %agg.result"} +!5184 = distinct !{!5184, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE606_clEv"} +!5185 = !{!5186} +!5186 = distinct !{!5186, !5187, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} +!5187 = distinct !{!5187, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} +!5188 = !{!5189} +!5189 = distinct !{!5189, !5190, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESG_: %agg.result"} +!5190 = distinct !{!5190, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESG_"} +!5191 = distinct !{!5191, !103} +!5192 = !{!5193} +!5193 = distinct !{!5193, !5194, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE747_clEv: %agg.result"} +!5194 = distinct !{!5194, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE747_clEv"} +!5195 = !{i32 10786743} +!5196 = !{!5197} +!5197 = distinct !{!5197, !5198, !"_Z14__invoke_asinhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!5198 = distinct !{!5198, !"_Z14__invoke_asinhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!5199 = !{!5200} +!5200 = distinct !{!5200, !5201, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} +!5201 = distinct !{!5201, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} +!5202 = !{!5203} +!5203 = distinct !{!5203, !5204, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE3_clESA_: %agg.result"} +!5204 = distinct !{!5204, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE3_clESA_"} +!5205 = !{!5206} +!5206 = distinct !{!5206, !5207, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE814_clEv: %agg.result"} +!5207 = distinct !{!5207, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE814_clEv"} +!5208 = !{!5209} +!5209 = distinct !{!5209, !5210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE786_clEv: %agg.result"} +!5210 = distinct !{!5210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE786_clEv"} +!5211 = distinct !{!5211, !103} +!5212 = distinct !{!5212, !103} +!5213 = !{!5214} +!5214 = distinct !{!5214, !5215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE0_clESB_: %agg.result"} +!5215 = distinct !{!5215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE0_clESB_"} +!5216 = !{!5217} +!5217 = distinct !{!5217, !5218, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE243_clEv: %agg.result"} +!5218 = distinct !{!5218, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE243_clEv"} +!5219 = !{!5220} +!5220 = distinct !{!5220, !5221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE794_clEv: %agg.result"} +!5221 = distinct !{!5221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE794_clEv"} +!5222 = distinct !{!5222, !103} +!5223 = !{!5224} +!5224 = distinct !{!5224, !5225, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE330_clEv: %agg.result"} +!5225 = distinct !{!5225, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE330_clEv"} +!5226 = !{!5227} +!5227 = distinct !{!5227, !5228, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE295_clEv: %agg.result"} +!5228 = distinct !{!5228, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE295_clEv"} +!5229 = distinct !{!5229, !103} +!5230 = !{!5231} +!5231 = distinct !{!5231, !5232, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!5232 = distinct !{!5232, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!5233 = distinct !{!5233, !103} +!5234 = !{!5235} +!5235 = distinct !{!5235, !5236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE120_clEv: %agg.result"} +!5236 = distinct !{!5236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE120_clEv"} +!5237 = !{!5238} +!5238 = distinct !{!5238, !5239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE_clESA_: %agg.result"} +!5239 = distinct !{!5239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE_clESA_"} +!5240 = !{i32 -2140803721} +!5241 = !{!926, !129, i64 8} +!5242 = !{!926, !129, i64 16} +!5243 = !{!5244} +!5244 = distinct !{!5244, !5245, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE43_clEv: %agg.result"} +!5245 = distinct !{!5245, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE43_clEv"} +!5246 = !{!5247} +!5247 = distinct !{!5247, !5248, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE3_clESD_: %agg.result"} +!5248 = distinct !{!5248, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE3_clESD_"} +!5249 = !{!5250} +!5250 = distinct !{!5250, !5251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE277_clEv: %agg.result"} +!5251 = distinct !{!5251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE277_clEv"} +!5252 = distinct !{!5252, !103} +!5253 = distinct !{!5253, !103} +!5254 = !{!5255} +!5255 = distinct !{!5255, !5256, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE209_clEv: %agg.result"} +!5256 = distinct !{!5256, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE209_clEv"} +!5257 = !{!5258} +!5258 = distinct !{!5258, !5259, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} +!5259 = distinct !{!5259, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} +!5260 = !{!5261} +!5261 = distinct !{!5261, !5262, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE496_clEv: %agg.result"} +!5262 = distinct !{!5262, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE496_clEv"} +!5263 = !{!5264} +!5264 = distinct !{!5264, !5265, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE779_clEv: %agg.result"} +!5265 = distinct !{!5265, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE779_clEv"} +!5266 = !{!5267} +!5267 = distinct !{!5267, !5268, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE487_clEv: %agg.result"} +!5268 = distinct !{!5268, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE487_clEv"} +!5269 = !{!5270} +!5270 = distinct !{!5270, !5271, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE787_clEv: %agg.result"} +!5271 = distinct !{!5271, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE787_clEv"} +!5272 = distinct !{!5272, !103} +!5273 = !{!5274} +!5274 = distinct !{!5274, !5275, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE344_clEv: %agg.result"} +!5275 = distinct !{!5275, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE344_clEv"} +!5276 = !{!5277} +!5277 = distinct !{!5277, !5278, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE439_clEv: %agg.result"} +!5278 = distinct !{!5278, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE439_clEv"} +!5279 = !{!5280} +!5280 = distinct !{!5280, !5281, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE531_clEv: %agg.result"} +!5281 = distinct !{!5281, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE531_clEv"} +!5282 = distinct !{!5282, !103} +!5283 = !{!5284} +!5284 = distinct !{!5284, !5285, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} +!5285 = distinct !{!5285, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} +!5286 = distinct !{!5286, !103} +!5287 = !{!5288} +!5288 = distinct !{!5288, !5289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE648_clEv: %agg.result"} +!5289 = distinct !{!5289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE648_clEv"} +!5290 = !{i32 10801794} +!5291 = !{!5292} +!5292 = distinct !{!5292, !5293, !"_Z13__invoke_log2IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!5293 = distinct !{!5293, !"_Z13__invoke_log2IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!5294 = !{!5295} +!5295 = distinct !{!5295, !5296, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} +!5296 = distinct !{!5296, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} +!5297 = !{!5298} +!5298 = distinct !{!5298, !5299, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE300_clEv: %agg.result"} +!5299 = distinct !{!5299, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE300_clEv"} +!5300 = !{!5301} +!5301 = distinct !{!5301, !5302, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} +!5302 = distinct !{!5302, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} +!5303 = !{i32 10803023} +!5304 = !{!5305} +!5305 = distinct !{!5305, !5306, !"_Z13__invoke_logbIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} +!5306 = distinct !{!5306, !"_Z13__invoke_logbIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} +!5307 = !{!5308} +!5308 = distinct !{!5308, !5309, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE801_clEv: %agg.result"} +!5309 = distinct !{!5309, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE801_clEv"} +!5310 = !{i32 10806788} +!5311 = !{!5312} +!5312 = distinct !{!5312, !5313, !"_Z12__invoke_powIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} +!5313 = distinct !{!5313, !"_Z12__invoke_powIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} +!5314 = !{!5315} +!5315 = distinct !{!5315, !5316, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!5316 = distinct !{!5316, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!5317 = !{!5318} +!5318 = distinct !{!5318, !5319, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} +!5319 = distinct !{!5319, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} +!5320 = !{!5321} +!5321 = distinct !{!5321, !5322, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE262_clEv: %agg.result"} +!5322 = distinct !{!5322, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE262_clEv"} +!5323 = !{i32 -2140788710} +!5324 = !{i32 -2140803998} +!5325 = !{i32 -2140796314} +!5326 = !{i32 -2140791170} +!5327 = !{i32 -2140801436} +!5328 = !{i32 -2140793718} +!5329 = !{i32 -2140798830} +!5330 = !{i32 435} +!5331 = !{i32 1016} +!5332 = !{i32 455} +!5333 = !{i32 578} From f27e28e7df7535b28f85b51616f5e5d08b11c547 Mon Sep 17 00:00:00 2001 From: "Lu, John" Date: Tue, 22 Aug 2023 07:08:18 -0700 Subject: [PATCH 3/4] Reduce testcase with llvm-reduce Signed-off-by: Lu, John --- test/type-scavenger/equivalence.ll | 136113 +------------------------- 1 file changed, 41 insertions(+), 136072 deletions(-) diff --git a/test/type-scavenger/equivalence.ll b/test/type-scavenger/equivalence.ll index e431f54f5a..300bc35db0 100644 --- a/test/type-scavenger/equivalence.ll +++ b/test/type-scavenger/equivalence.ll @@ -1,5 +1,5 @@ -; Ensure that llvm-spirv type scavenging on a large input does not have an -; assertion failure due to incorrect lookup of an equivalence class leader. +; Test if llvm-spirv type scavenging has an assertion +; failure due to incorrect lookup of an equivalence class leader. ; RUN: llvm-as < %s | llvm-spirv -o %t.spv ; RUN: spirv-val %t.spv @@ -11,136100 +11,69 @@ ; CHECK-SPIRV: _ZN4sycl3_V16marrayIiLm5EEixEm ; CHECK-LLVM: _ZN4sycl3_V16marrayIiLm5EEixEm -; ModuleID = 'equivalence.bc' -source_filename = "llvm-link" target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64" target triple = "spir64-unknown-unknown" -%"class.sycl::_V1::vec.2018" = type { <3 x i32> } -%"class.sycl::_V1::range" = type { %"class.sycl::_V1::detail::array" } -%"class.sycl::_V1::detail::array" = type { [1 x i64] } -%class.anon.1535 = type { %"class.sycl::_V1::accessor", %class.anon, %"class.sycl::_V1::accessor" } -%class.anon = type { i8 } -%"class.sycl::_V1::accessor" = type { %"class.sycl::_V1::detail::AccessorImplDevice", %union.anon } -%"class.sycl::_V1::detail::AccessorImplDevice" = type { %"class.sycl::_V1::range", %"class.sycl::_V1::range", %"class.sycl::_V1::range" } -%union.anon = type { ptr addrspace(1) } -%"class.sycl::_V1::multi_ptr.1527" = type { ptr addrspace(3) } -%"class.sycl::_V1::vec.52.6" = type { <16 x half> } -%class.anon.1513 = type { %class.anon, %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor" } -%"class.sycl::_V1::marray.7" = type { [2 x %"class.sycl::_V1::detail::half_impl::half"] } -%"class.sycl::_V1::detail::half_impl::half" = type { half } -%"class.sycl::_V1::vec.2" = type { <2 x half> } -%"class.sycl::_V1::marray.91.10" = type { [4 x %"class.sycl::_V1::detail::half_impl::half"] } -%class.anon.1824.213 = type <{ %"class.sycl::_V1::marray.91.10", %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%"class.sycl::_V1::local_accessor" = type { %"class.sycl::_V1::local_accessor_base" } -%"class.sycl::_V1::local_accessor_base" = type { %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(3) } -%"class.sycl::_V1::nd_item" = type { %"class.sycl::_V1::item", %"class.sycl::_V1::item.1524", %"class.sycl::_V1::group" } -%"class.sycl::_V1::item" = type { %"class.sycl::_V1::detail::AccessorImplDevice" } -%"class.sycl::_V1::item.1524" = type { %"struct.sycl::_V1::detail::ItemBase.1525" } -%"struct.sycl::_V1::detail::ItemBase.1525" = type { %"class.sycl::_V1::range", %"class.sycl::_V1::range" } -%"class.sycl::_V1::group" = type { %"class.sycl::_V1::range", %"class.sycl::_V1::range", %"class.sycl::_V1::range", %"class.sycl::_V1::range" } -%class.anon.0 = type <{ %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%"class.sycl::_V1::marray.119.12" = type { [17 x %"class.sycl::_V1::detail::half_impl::half"] } -%"class.sycl::_V1::marray.105.11" = type { [5 x %"class.sycl::_V1::detail::half_impl::half"] } -%"class.sycl::_V1::marray.77.9" = type { [3 x %"class.sycl::_V1::detail::half_impl::half"] } -%"class.sycl::_V1::marray.2297" = type { [4 x i32] } -%"struct.std::array.2215" = type { [1 x i32] } -%"class.sycl::_V1::marray.2250" = type { [3 x i32] } -%"class.sycl::_V1::marray.2202" = type { [2 x i32] } -%class.anon.2223 = type <{ %"class.sycl::_V1::marray.2202", %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%"class.sycl::_V1::marray.2344" = type { [5 x i32] } -%"struct.std::array.2412" = type { [8 x i32] } -%"class.sycl::_V1::multi_ptr" = type { ptr } -%class.anon.2 = type { ptr addrspace(4), ptr addrspace(4), ptr addrspace(4), ptr addrspace(4) } -%"struct.std::array.76.8" = type { [1 x %"class.sycl::_V1::detail::half_impl::half"] } -%"class.sycl::_V1::vec.16.3" = type { <3 x half> } -%struct.privatePtrCheck.2354.236 = type { %"class.sycl::_V1::marray.105.11", %"class.sycl::_V1::marray.2344" } -%"class.sycl::_V1::vec.28.4" = type { <4 x half> } -%struct.privatePtrCheck.1778.210 = type { %"class.sycl::_V1::marray.77.9", %"class.sycl::_V1::marray.77.9" } -%"class.sycl::_V1::vec.40.5" = type { <8 x half> } -%class.anon.1862.215 = type <{ %"class.sycl::_V1::marray.105.11", [6 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%class.anon.1520.196 = type <{ %"class.sycl::_V1::detail::half_impl::half", [6 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%struct.privatePtrCheck.2212.230 = type { %"class.sycl::_V1::marray.7", %"class.sycl::_V1::marray.2202" } -%class.anon.3 = type { ptr addrspace(4), ptr addrspace(4) } -%class.anon.2317 = type <{ %"class.sycl::_V1::marray.2297", %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%struct.privatePtrCheck.1892.216 = type { %"class.sycl::_V1::marray.119.12", %"class.sycl::_V1::marray.119.12" } -%"class.sycl::_V1::vec.1972" = type { <2 x i32> } -%"struct.std::array.141.17" = type { [12 x %"class.sycl::_V1::detail::half_impl::half"] } -%class.anon.1748.209 = type <{ %"class.sycl::_V1::marray.7", [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%class.anon.4 = type { ptr addrspace(4), ptr addrspace(4), ptr addrspace(4) } -%"class.sycl::_V1::marray.2391" = type { [17 x i32] } -%"class.sycl::_V1::vec.2064" = type { <4 x i32> } -%"struct.std::array.2408" = type { [12 x i32] } -%"struct.std::array.2405" = type { [15 x i32] } -%class.anon.2364 = type <{ %"class.sycl::_V1::marray.2344", [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%struct.privatePtrCheck.1816.212 = type { %"class.sycl::_V1::marray.91.10", %"class.sycl::_V1::marray.91.10" } -%"class.sycl::_V1::vec.2156" = type { <16 x i32> } -%"struct.std::array.2409" = type { [11 x i32] } -%class.anon.1786.211 = type <{ %"class.sycl::_V1::marray.77.9", [2 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%"struct.std::array.145.19" = type { [10 x %"class.sycl::_V1::detail::half_impl::half"] } -%class.anon.1900.217 = type <{ %"class.sycl::_V1::marray.119.12", [6 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%struct.privatePtrCheck.1740.208 = type { %"class.sycl::_V1::marray.7", %"class.sycl::_V1::marray.7" } -%class.anon.1945 = type <{ i32, [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%"class.sycl::_V1::vec.2110" = type { <8 x i32> } -%"struct.std::array.143.18" = type { [11 x %"class.sycl::_V1::detail::half_impl::half"] } -%"struct.std::array.147.20" = type { [9 x %"class.sycl::_V1::detail::half_impl::half"] } -%"struct.std::array.149.21" = type { [8 x %"class.sycl::_V1::detail::half_impl::half"] } -%struct.privatePtrCheck.1854.214 = type { %"class.sycl::_V1::marray.105.11", %"class.sycl::_V1::marray.105.11" } -%class.anon.2270 = type <{ %"class.sycl::_V1::marray.2250", [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%struct.privatePtrCheck.1936.218 = type { %"class.sycl::_V1::detail::half_impl::half", i32 } -%"struct.std::array.135.14" = type { [15 x %"class.sycl::_V1::detail::half_impl::half"] } -%"struct.std::array.137.15" = type { [14 x %"class.sycl::_V1::detail::half_impl::half"] } -%"struct.std::array.2406" = type { [14 x i32] } -%struct.privatePtrCheck.2260.232 = type { %"class.sycl::_V1::marray.77.9", %"class.sycl::_V1::marray.2250" } -%"struct.std::array.2410" = type { [10 x i32] } -%"struct.std::array.133.13" = type { [16 x %"class.sycl::_V1::detail::half_impl::half"] } -%struct.privatePtrCheck.2307.234 = type { %"class.sycl::_V1::marray.91.10", %"class.sycl::_V1::marray.2297" } -%struct.privatePtrCheck.195 = type { %"class.sycl::_V1::detail::half_impl::half", %"class.sycl::_V1::detail::half_impl::half" } -%"struct.std::array.153.23" = type { [6 x %"class.sycl::_V1::detail::half_impl::half"] } -%struct.privatePtrCheck.2401.238 = type { %"class.sycl::_V1::marray.119.12", %"class.sycl::_V1::marray.2391" } -%"struct.std::array.2404" = type { [16 x i32] } -%class.anon.2422 = type <{ %"class.sycl::_V1::marray.2391", [4 x i8], %"class.sycl::_V1::local_accessor", %"class.sycl::_V1::accessor", %"class.sycl::_V1::accessor", %class.anon, [7 x i8] }> -%"struct.std::array.2414" = type { [6 x i32] } -%"struct.std::array.2413" = type { [7 x i32] } -%"struct.std::array.2407" = type { [13 x i32] } -%"struct.std::array.139.16" = type { [13 x %"class.sycl::_V1::detail::half_impl::half"] } -%"struct.std::array.2411" = type { [9 x i32] } -%"struct.std::array.151.22" = type { [7 x %"class.sycl::_V1::detail::half_impl::half"] } - -$_ZTS6kernelILi4300468EE = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZZZ14check_functionILi4300258EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE257_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300860EE = comdat any - -$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300488EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE399_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any - -$_ZTS6kernelILi4300983EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZZZ14check_functionILi4300276EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE275_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300152EE = comdat any - -$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300653EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE520_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IDv8_DF16_vEES7_ = comdat any - -$_ZTS6kernelILi4300291EE = comdat any - -$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZTS6kernelILi4300980EE = comdat any - -$_ZTS6kernelILi4300091EE = comdat any - -$_ZN4sycl3_V16detail7Builder10createItemILi1ELb0EEENSt9enable_ifIXntT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm3EEEPS4_EET_T0_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_ = comdat any - -$_ZTS6kernelILi4300327EE = comdat any - -$_ZZZ14check_functionILi4300177EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE176_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300806EE = comdat any - -$_ZZZ14check_functionILi4300318EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE317_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300849EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZTS6kernelILi4301073EE = comdat any - -$_ZTS6kernelILi4300250EE = comdat any - -$_ZTS6kernelILi4300649EE = comdat any - -$_ZTS6kernelILi4300123EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZTS6kernelILi4300348EE = comdat any - -$_ZTS6kernelILi4300094EE = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300816EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300787EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE610_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm4EEEPS6_EET_T0_ = comdat any - -$_ZTS6kernelILi4300509EE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm3EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any - -$_ZTS6kernelILi4300619EE = comdat any - -$_ZZZ14check_functionILi4300763EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE586_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300174EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE173_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev = comdat any - -$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300271EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300355EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any - -$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300791EE = comdat any - -$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300664EE = comdat any - -$_ZTS6kernelILi4301029EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300284EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE283_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300137EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE136_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_ = comdat any - -$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300866EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE653_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300155EE = comdat any - -$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V13vecIiLi16EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300640EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE507_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300191EE = comdat any - -$_ZZZ14check_functionILi4300627EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE494_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300393EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE364_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEcvDv3_DF16_Ev = comdat any - -$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300658EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE525_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEcvDv4_DF16_Ev = comdat any - -$_ZZZ14check_functionILi4300339EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE338_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300119EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE118_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300406EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZTS6kernelILi4300353EE = comdat any - -$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE7_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300808EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any - -$_ZZZ14check_functionILi4300183EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE182_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300455EE = comdat any - -$_ZZZ14check_functionILi4300192EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE191_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300785EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE608_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300213EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE212_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE = comdat any - -$_ZTS6kernelILi4300740EE = comdat any - -$_ZN7__spirv24InitSizesSTWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv = comdat any - -$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300005EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE4_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300261EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE260_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300521EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE432_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300775EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE598_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300343EE = comdat any - -$_ZTS6kernelILi4300036EE = comdat any - -$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EEC2EPU3AS0i = comdat any - -$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16marrayIiLm4EE4sizeEv = comdat any - -$_ZTS6kernelILi4300014EE = comdat any - -$_ZZZ14check_functionILi4300068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE67_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300407EE = comdat any - -$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V12idILi1EEC2Ev = comdat any - -$_ZTS6kernelILi4300332EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZNKSt5arrayIiLm12EEixEm = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300255EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE254_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZZZ14check_functionILi4301009EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE744_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300264EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE263_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300106EE = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEcvDv2_DF16_Ev = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300278EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300297EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE296_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300019EE = comdat any - -$_ZTS6kernelILi4300915EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i = comdat any - -$_ZZZ14check_functionILi4300102EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE101_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZTS6kernelILi4300466EE = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm = comdat any - -$_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm = comdat any - -$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300349EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300992EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE731_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300455EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300414EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_ = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300983EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZTS6kernelILi4300137EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any - -$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300136EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE135_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300594EE = comdat any - -$_ZTS6kernelILi4300048EE = comdat any - -$_ZTS6kernelILi4300782EE = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZZZ14check_functionILi4300039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE38_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN7__spirv15initWorkgroupIdILi1EN4sycl3_V12idILi1EEEEET0_v = comdat any - -$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300386EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300510EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE421_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300653EE = comdat any - -$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZTS6kernelILi4300199EE = comdat any - -$_ZTS6kernelILi4300320EE = comdat any - -$_ZTS6kernelILi4300281EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_ = comdat any - -$_ZZZ14check_functionILi4300923EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE702_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZZZ14check_functionILi4301021EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE756_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayIiLm4EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any - -$_ZNSt14__array_traitsIiLm17EE6_S_refERA17_Kim = comdat any - -$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE4sizeEv = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm2EEES6_EET_T0_ = comdat any - -$_ZZZ14check_functionILi4300901EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE680_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300612EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE479_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300877EE = comdat any - -$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300754EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any - -$_ZTS6kernelILi4300926EE = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300401EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZZZ14check_functionILi4300090EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE89_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS3NS1_9half_impl4halfEPS4_EET_T0_ = comdat any - -$_ZTS6kernelILi4300027EE = comdat any - -$_ZN4sycl3_V13logENS0_6detail9half_impl4halfE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300758EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300128EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE127_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEvEET_RT0_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZTS6kernelILi4300238EE = comdat any - -$_ZTS6kernelILi4300208EE = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4301049EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm17EEES8_EET_T0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300971EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4300589EE = comdat any - -$_ZTS6kernelILi4300261EE = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIiEPU3AS3T_Pv = comdat any - -$_ZTS6kernelILi4300069EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4300628EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300252EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE251_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE79_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300634EE = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any - -$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300162EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE161_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300916EE = comdat any - -$_ZTS6kernelILi4300262EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE44_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300727EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300847EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE646_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300202EE = comdat any - -$_ZTS6kernelILi4300164EE = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any - -$_ZTS6kernelILi4300226EE = comdat any - -$_ZTS6kernelILi4300658EE = comdat any - -$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16marrayIiLm5EEC2Ev = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any - -$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_ZTS6kernelILi4300773EE = comdat any - -$_ZTS6kernelILi4300103EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300282EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EE4sizeEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300743EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300676EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE543_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300743EE = comdat any - -$_ZZZ14check_functionILi4300317EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE316_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300324EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE323_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300600EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_ = comdat any - -$_ZZZ14check_functionILi4300120EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE119_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300576EE = comdat any - -$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300168EE = comdat any - -$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1iPiEET_T0_ = comdat any - -$_ZZZ14check_functionILi4300105EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE104_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZZZ14check_functionILi4300347EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE346_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZZZ14check_functionILi4300254EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE253_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_Z23__spirv_NumWorkgroups_xv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300595EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300529EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300695EE = comdat any - -$_ZTS6kernelILi4300499EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300863EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300867EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300981EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE728_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm14EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm17EE6_S_refERA17_KS4_m = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ14check_functionILi4300207EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE206_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300402EE = comdat any - -$_ZZZ14check_functionILi4301029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE764_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any - -$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm2EEES8_EET_T0_ = comdat any - -$_ZN4sycl3_V16marrayIiLm3EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any - -$_ZTS6kernelILi4300259EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZNSt14__array_traitsIiLm9EE6_S_refERA9_Kim = comdat any - -$_ZTS6kernelILi4300041EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZZZ14check_functionILi4300306EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE305_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300892EE = comdat any - -$_ZZZ14check_functionILi4300293EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE292_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300125EE = comdat any - -$_ZZZ14check_functionILi4300288EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE287_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300660EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE527_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm10EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZTS6kernelILi4300935EE = comdat any - -$_ZTS6kernelILi4300277EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16detail9half_impl4halfEEPU3AS0T_Pv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IDv3_DF16_vEES7_ = comdat any - -$_ZTS6kernelILi4300130EE = comdat any - -$_ZZZ14check_functionILi4300340EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE339_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4301028EE = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300388EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300328EE = comdat any - -$_ZTS6kernelILi4300087EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZZZ14check_functionILi4300217EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE216_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300395EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZTS6kernelILi4300578EE = comdat any - -$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300606EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE473_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300205EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm5EEES6_EET_T0_ = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE = comdat any - -$_ZTS6kernelILi4300314EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300865EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE652_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm9EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300994EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm5EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any - -$_ZZZ14check_functionILi4300111EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE110_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZTS6kernelILi4300747EE = comdat any - -$_ZZZ14check_functionILi4301013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE748_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300011EE = comdat any - -$_ZTS6kernelILi4300852EE = comdat any - -$_ZTS6kernelILi4300235EE = comdat any - -$_ZZZ14check_functionILi4300206EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE205_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any - -$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300727EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE570_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZTS6kernelILi4300896EE = comdat any - -$_ZTS6kernelILi4300006EE = comdat any - -$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300257EE = comdat any - -$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE73_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300163EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE162_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300695EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300573EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE460_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300418EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZZZ14check_functionILi4300134EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE133_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300779EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE602_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300891EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300746EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300591EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE466_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300467EE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_iNS0_3vecIiLi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any - -$_ZZZ14check_functionILi4301080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE815_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300485EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE396_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300483EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE394_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300404EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300749EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301000EE = comdat any - -$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300075EE = comdat any - -$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300390EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300862EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300129EE = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZTS6kernelILi4300588EE = comdat any - -$_ZTS6kernelILi4300217EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZZZ14check_functionILi4300909EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE688_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300736EE = comdat any - -$_ZTS6kernelILi4301069EE = comdat any - -$_ZZZ14check_functionILi4300762EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE585_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any - -$_ZTS6kernelILi4300627EE = comdat any - -$_ZTS6kernelILi4300251EE = comdat any - -$_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi = comdat any - -$_ZZZ14check_functionILi4300205EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE204_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300319EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE318_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300758EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE581_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZTS6kernelILi4300985EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300730EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300147EE = comdat any - -$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300782EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE605_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300215EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE214_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300896EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE675_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300772EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE595_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300198EE = comdat any - -$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300066EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300690EE = comdat any - -$_ZZZ14check_functionILi4300890EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE669_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZTS6kernelILi4300745EE = comdat any - -$_ZTS6kernelILi4300292EE = comdat any - -$_ZZZ14check_functionILi4300048EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE47_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300333EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE332_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm16EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZTS6kernelILi4300052EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZTS6kernelILi4301035EE = comdat any - -$_ZZZ14check_functionILi4300294EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE293_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301015EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300573EE = comdat any - -$_ZNK4sycl3_V13vecIiLi8EEcvDv8_iEv = comdat any - -$_ZTS6kernelILi4300018EE = comdat any - -$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZZZ14check_functionILi4300040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE39_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZZZ14check_functionILi4300182EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE181_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZTS6kernelILi4300347EE = comdat any - -$_ZZZ14check_functionILi4300514EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE425_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300902EE = comdat any - -$_ZTS6kernelILi4300133EE = comdat any - -$_ZZZ14check_functionILi4300070EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE69_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any - -$_ZTS6kernelILi4300169EE = comdat any - -$_ZZZ14check_functionILi4300312EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE311_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any - -$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZZZ14check_functionILi4300502EN4sycl3_V16marrayIiLm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE413_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300397EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN7__spirv22initGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v = comdat any - -$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZZZ14check_functionILi4300887EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE666_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300457EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300776EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE599_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300618EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE485_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300089EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE88_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300539EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300858EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300267EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE266_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE = comdat any - -$_ZTS6kernelILi4300304EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm7EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZTS6kernelILi4300868EE = comdat any - -$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4301083EE = comdat any - -$_ZZZ14check_functionILi4300626EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE493_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300183EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300934EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZTS6kernelILi4300486EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any - -$_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE = comdat any - -$_Z22__spirv_GlobalOffset_xv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300848EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE647_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300102EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any - -$_ZTS6kernelILi4300471EE = comdat any - -$_ZZZ14check_functionILi4301036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE771_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300286EE = comdat any - -$_ZTS6kernelILi4300984EE = comdat any - -$_ZTS6kernelILi4300990EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300075EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE74_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300987EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE730_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300608EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE475_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300501EE = comdat any - -$_ZZZ14check_functionILi4300808EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE631_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm8EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any - -$_ZNSt14__array_traitsIiLm4EE6_S_refERA4_Kim = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any - -$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v = comdat any - -$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300475EE = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4301045EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any - -$_ZZZ14check_functionILi4300613EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE480_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300933EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any - -$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZZZ14check_functionILi4300611EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE478_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300302EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE301_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4300053EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any - -$_ZTS6kernelILi4300187EE = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm4EE6_S_refERA4_KS4_m = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZTS6kernelILi4300633EE = comdat any - -$_ZZZ14check_functionILi4300777EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE600_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300870EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300299EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE298_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4301028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE763_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300149EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE148_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301079EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4301017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE752_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V13vecIiLi2EEcvDv2_iEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300461EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZTS6kernelILi4300685EE = comdat any - -$_ZTS6kernelILi4300254EE = comdat any - -$_ZZZ14check_functionILi4301069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE804_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300732EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE571_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300197EE = comdat any - -$_ZZZ14check_functionILi4300241EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE240_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300978EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_ = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300311EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE310_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300526EE = comdat any - -$_ZZZ14check_functionILi4301016EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE751_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN7__spirv16initGlobalOffsetILi1EN4sycl3_V12idILi1EEEEET0_v = comdat any - -$_ZTS6kernelILi4300047EE = comdat any - -$_ZZZ14check_functionILi4300027EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE26_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300537EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE448_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZNSt14__array_traitsIiLm8EE6_S_refERA8_Kim = comdat any - -$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300974EE = comdat any - -$_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv = comdat any - -$_ZTS6kernelILi4300538EE = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EE4sizeEv = comdat any - -$_ZTS6kernelILi4300150EE = comdat any - -$_ZZZ14check_functionILi4301049EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE784_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300330EE = comdat any - -$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZTS6kernelILi4300239EE = comdat any - -$_ZNSt14__array_traitsIiLm7EE6_S_refERA7_Kim = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZZZ14check_functionILi4300323EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE322_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300158EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE157_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZTS6kernelILi4300680EE = comdat any - -$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300581EE = comdat any - -$_ZNK4sycl3_V16detail9half_impl4halfcvfEv = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ14check_functionILi4301073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE808_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_ = comdat any - -$_ZTS6kernelILi4300804EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm11EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300609EE = comdat any - -$_ZTS6kernelILi4300165EE = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE = comdat any - -$_ZTS6kernelILi4300058EE = comdat any - -$_ZN4sycl3_V16marrayIiLm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIiLm5EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZZZ14check_functionILi4300081EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE80_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300626EE = comdat any - -$_ZZZ14check_functionILi4300797EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE620_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300781EE = comdat any - -$_ZTS6kernelILi4300190EE = comdat any - -$_ZTS6kernelILi4300410EE = comdat any - -$_ZZZ14check_functionILi4300222EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE221_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300692EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZZZ14check_functionILi4300636EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE503_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300981EE = comdat any - -$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300466EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any - -$_ZZZ14check_functionILi4300249EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE248_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS3iS4_EET_T0_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300097EE = comdat any - -$_ZTS6kernelILi4300325EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4301042EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE777_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300600EE = comdat any - -$_ZZZ14check_functionILi4300911EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE690_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300625EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE492_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS1_9half_impl4halfEPS4_EET_T0_ = comdat any - -$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V16marrayIiLm17EEixEm = comdat any - -$_ZTS6kernelILi4300784EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm7EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300091EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE90_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNSt14__array_traitsIiLm13EE6_S_refERA13_Kim = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300852EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZTS6kernelILi4300321EE = comdat any - -$_ZZZ14check_functionILi4300176EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE175_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300459EE = comdat any - -$_ZZZ14check_functionILi4300041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE40_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any - -$_ZZZ14check_functionILi4300067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE66_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm11EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZTS6kernelILi4300517EE = comdat any - -$_ZTS6kernelILi4300193EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZZZ14check_functionILi4300766EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE589_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300236EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE235_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300858EE = comdat any - -$_ZZZ14check_functionILi4300334EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE333_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300081EE = comdat any - -$_ZTS6kernelILi4300575EE = comdat any - -$_ZZZ14check_functionILi4300764EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE587_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300972EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300911EE = comdat any - -$_ZZZ14check_functionILi4300643EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE510_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4300396EE = comdat any - -$_ZTS6kernelILi4300870EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300475EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300040EE = comdat any - -$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any - -$_ZZZ14check_functionILi4300926EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE705_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300234EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE233_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300927EE = comdat any - -$_ZTS6kernelILi4300334EE = comdat any - -$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZTS6kernelILi4300233EE = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4301018EE = comdat any - -$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300118EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any - -$_ZZZ14check_functionILi4301023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE758_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300500EN4sycl3_V16marrayIiLm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE411_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any - -$_ZTS6kernelILi4300909EE = comdat any - -$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZZZ14check_functionILi4300195EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE194_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300515EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE426_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300468EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300895EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any - -$_ZN4sycl3_V16marrayIiLm5EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any - -$_ZTS6kernelILi4300864EE = comdat any - -$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300648EE = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZZZ14check_functionILi4300057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE56_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300459EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE386_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300462EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm5EEES8_EET_T0_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300541EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZZZ14check_functionILi4300609EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE476_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300813EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_ZZZ14check_functionILi4300200EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE199_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300737EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300269EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZTS6kernelILi4300070EE = comdat any - -$_ZTS6kernelILi4301017EE = comdat any - -$_ZTS6kernelILi4301027EE = comdat any - -$_ZTS6kernelILi4300882EE = comdat any - -$_ZTS6kernelILi4300470EE = comdat any - -$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZTS6kernelILi4300515EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZZZ14check_functionILi4301060EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE795_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300902EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE681_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300198EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE197_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300485EE = comdat any - -$_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ14check_functionILi4300152EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE151_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300251EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE250_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4301032EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE767_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZTS6kernelILi4300803EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any - -$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE11_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any - -$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300117EE = comdat any - -$_ZTS6kernelILi4300986EE = comdat any - -$_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE4sizeEv = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300213EE = comdat any - -$_ZZZ14check_functionILi4300201EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE200_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE820_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ14check_functionILi4300624EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE491_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300891EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE670_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301058EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi = comdat any - -$_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIN4sycl3_V16detail9half_impl4halfEEPU3AS3T_Pv = comdat any - -$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300748EE = comdat any - -$_ZTS6kernelILi4300237EE = comdat any - -$_ZTS6kernelILi4300184EE = comdat any - -$_ZTS6kernelILi4300265EE = comdat any - -$_ZZZ14check_functionILi4300644EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE511_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZZZ14check_functionILi4300508EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE419_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300277EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE276_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEvEET_RT0_ = comdat any - -$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm9EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZTS6kernelILi4300996EE = comdat any - -$_ZZZ14check_functionILi4300099EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE98_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300306EE = comdat any - -$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any - -$_ZTS6kernelILi4300814EE = comdat any - -$_ZZZ14check_functionILi4300270EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE269_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4301042EE = comdat any - -$_ZZZ14check_functionILi4300905EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE684_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300898EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE677_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300510EE = comdat any - -$_ZZZ14check_functionILi4300607EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE474_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300970EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZZZ14check_functionILi4300148EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE147_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm15EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE0EEEEES4_RT_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any - -$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300474EE = comdat any - -$_ZZZ14check_functionILi4300085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE84_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301010EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE745_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300621EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE488_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300585EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE464_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300321EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE320_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301041EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300523EE = comdat any - -$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZN4sycl3_V16marrayIiLm17EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any - -$_ZTS6kernelILi4300659EE = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZZZ14check_functionILi4300151EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE150_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEvEET_RT0_ = comdat any - -$_ZZZ14check_functionILi4300017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE16_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300061EE = comdat any - -$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300253EE = comdat any - -$_ZTS6kernelILi4300246EE = comdat any - -$_ZZZ14check_functionILi4300230EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE229_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300204EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE203_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any - -$_ZTS6kernelILi4300635EE = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm10EE6_S_refERA10_KS4_m = comdat any - -$_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ14check_functionILi4300173EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE172_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300532EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ14check_functionILi4300998EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE733_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300744EE = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300932EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE711_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZZZ14check_functionILi4300028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE27_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301076EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZTS6kernelILi4300090EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_ = comdat any - -$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNKSt5arrayIiLm15EEixEm = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300042EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE41_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300689EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE556_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300525EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE436_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEES4_RT_ = comdat any - -$_ZTS6kernelILi4300677EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300973EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZTS6kernelILi4300336EE = comdat any - -$_ZZZ14check_functionILi4300493EiZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE404_EvS5_T1_NS2_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRN4sycl3_V17handlerEE_clESM_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZTS6kernelILi4300886EE = comdat any - -$_ZTS6kernelILi4300790EE = comdat any - -$_ZZZ14check_functionILi4300064EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE63_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZTS6kernelILi4300871EE = comdat any - -$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300026EE = comdat any - -$_ZTS6kernelILi4300146EE = comdat any - -$_ZZZ14check_functionILi4300892EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE671_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300604EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE471_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300401EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any - -$_ZN7__spirv17initNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEEET0_v = comdat any - -$_ZZZ14check_functionILi4300100EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE99_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301077EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE812_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any - -$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300337EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZZZ14check_functionILi4300118EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE117_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300111EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm4EEES6_EET_T0_ = comdat any - -$_ZTS6kernelILi4300267EE = comdat any - -$_ZZZ14check_functionILi4300108EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE107_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_ = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300007EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300740EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300166EE = comdat any - -$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300922EE = comdat any - -$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V13vecIiLi8EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any - -$_ZTS6kernelILi4300284EE = comdat any - -$_ZZZ14check_functionILi4300199EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE198_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300893EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZTS6kernelILi4300144EE = comdat any - -$_ZZZ14check_functionILi4300341EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE340_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev = comdat any - -$_ZTS6kernelILi4300763EE = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm = comdat any - -$_ZZZ14check_functionILi4300191EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE190_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300224EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE223_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300166EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE165_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300993EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE732_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300635EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE502_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300671EE = comdat any - -$_ZZZ14check_functionILi4300651EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE518_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEES4_RT_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZTS6kernelILi4301050EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm4EEEPS4_EET_T0_ = comdat any - -$_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEvEET_RT0_ = comdat any - -$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZTS6kernelILi4300473EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv = comdat any - -$_ZTS6kernelILi4300993EE = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16detail7Builder10createItemILi1ELb1EEENSt9enable_ifIXT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEESG_ = comdat any - -$_ZZZ14check_functionILi4301019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE754_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300046EE = comdat any - -$_ZTS6kernelILi4300783EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm14EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEES4_RT_ = comdat any - -$_ZTS6kernelILi4300230EE = comdat any - -$_ZTS6kernelILi4300650EE = comdat any - -$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE71_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300086EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE85_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi = comdat any - -$_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZZZ14check_functionILi4300795EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE618_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4301032EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300654EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE521_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any - -$_ZTS6kernelILi4300733EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300474EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm15EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZZZ14check_functionILi4300281EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE280_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300015EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE14_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZTS6kernelILi4301024EE = comdat any - -$_ZTS6kernelILi4300489EE = comdat any - -$_ZTS6kernelILi4300035EE = comdat any - -$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300185EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE184_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300520EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE431_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_ = comdat any - -$_ZTS6kernelILi4300196EE = comdat any - -$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300232EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE231_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300139EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE138_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300305EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE304_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300143EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE142_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE18_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev = comdat any - -$_ZTS6kernelILi4300970EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300489EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE400_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZTS6kernelILi4300341EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4300298EE = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEEPU3AS0T_Pv = comdat any - -$_ZZZ14check_functionILi4300663EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE530_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300773EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE596_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300581EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffEE6CreateERKfSA_SA_SA_SA_SA_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300904EE = comdat any - -$_ZTS6kernelILi4300755EE = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300855EE = comdat any - -$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300300EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE299_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300397EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE0EEEEES4_RT_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300289EE = comdat any - -$_ZZZ14check_functionILi4300879EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE658_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300115EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE114_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm5EE6_S_refERA5_KS4_m = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300978EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300673EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE540_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE7getSizeEv = comdat any - -$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300795EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZTS6kernelILi4300857EE = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_ = comdat any - -$_ZTS6kernelILi4300316EE = comdat any - -$_ZTS6kernelILi4300875EE = comdat any - -$_ZTS6kernelILi4300156EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfEPS4_EET_T0_ = comdat any - -$_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_ = comdat any - -$_ZZZ14check_functionILi4300253EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE252_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300250EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE249_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300293EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300114EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300465EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE388_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300034EE = comdat any - -$_ZTS6kernelILi4300931EE = comdat any - -$_ZZZ14check_functionILi4300246EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE245_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300606EE = comdat any - -$_ZTS6kernelILi4300408EE = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIS4_Lm5EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZTS6kernelILi4300043EE = comdat any - -$_ZZZ14check_functionILi4300055EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE54_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300167EE = comdat any - -$_ZZZ14check_functionILi4301050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE785_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300394EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4301062EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZZZ14check_functionILi4300914EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE693_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm = comdat any - -$_ZTS6kernelILi4300062EE = comdat any - -$_ZNKSt5arrayIiLm4EEixEm = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm4EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any - -$_ZZZ14check_functionILi4300922EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE701_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300616EE = comdat any - -$_ZZZ14check_functionILi4300203EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE202_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_ = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300592EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any - -$_ZZZ14check_functionILi4300780EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE603_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300465EE = comdat any - -$_ZTS6kernelILi4300283EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300331EE = comdat any - -$_ZZZ14check_functionILi4300652EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE519_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300737EE = comdat any - -$_ZZZ14check_functionILi4300030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE29_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300873EE = comdat any - -$_ZZZ14check_functionILi4300907EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE686_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300233EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE232_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300513EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZZZ14check_functionILi4300036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE35_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300481EE = comdat any - -$_ZTS6kernelILi4300109EE = comdat any - -$_ZTS6kernelILi4300124EE = comdat any - -$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZZZ14check_functionILi4300767EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE590_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300646EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE513_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_ZTS6kernelILi4300663EE = comdat any - -$_ZZZ14check_functionILi4300610EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE477_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayIiLm2EE4sizeEv = comdat any - -$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16marrayIiLm3EEixEm = comdat any - -$_ZZZ14check_functionILi4300532EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE443_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300746EE = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm13EE6_S_refERA13_KS4_m = comdat any - -$_ZTS6kernelILi4300126EE = comdat any - -$_ZZZ14check_functionILi4300053EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE52_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300622EE = comdat any - -$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4301074EE = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300864EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZZZ14check_functionILi4300880EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE659_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300766EE = comdat any - -$_ZZZ14check_functionILi4300328EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE327_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300619EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE486_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300631EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE498_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300287EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZTS6kernelILi4300762EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZTS6kernelILi4300175EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any - -$_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEC2Ev = comdat any - -$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300738EE = comdat any - -$_ZZZ14check_functionILi4300674EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE541_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any - -$_ZZZ14check_functionILi4300079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE78_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300860EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE651_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300780EE = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_ZZZ14check_functionILi4300223EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE222_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300917EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE696_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZTS6kernelILi4300968EE = comdat any - -$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300615EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE482_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300283EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE282_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZN7__spirv28InitSizesSTLocalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv = comdat any - -$_ZZZ14check_functionILi4300076EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE75_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300673EE = comdat any - -$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300580EE = comdat any - -$_ZZZ14check_functionILi4300793EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE616_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300344EE = comdat any - -$_ZZZ14check_functionILi4300921EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE700_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZTS6kernelILi4300083EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm6EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4300972EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300851EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13vecIiLi2EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZZZ14check_functionILi4300770EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE593_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZNSt14__array_traitsIiLm6EE6_S_refERA6_Kim = comdat any - -$_ZTS6kernelILi4300907EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300416EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE371_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZTS6kernelILi4300312EE = comdat any - -$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300248EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE247_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300936EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEvEET_RT0_ = comdat any - -$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm12EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm11EE6_S_refERA11_KS4_m = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZZZ14check_functionILi4300235EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE234_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300270EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm13EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300607EE = comdat any - -$_ZTS6kernelILi4300789EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300935EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE0EEEEES4_RT_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300051EE = comdat any - -$_ZZZ14check_functionILi4301001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE736_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_ = comdat any - -$_ZNKSt5arrayIiLm14EEixEm = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZTS6kernelILi4300900EE = comdat any - -$_ZNKSt5arrayIiLm17EEixEm = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300977EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any - -$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V16marrayIiLm5EEixEm = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm5EEEPS6_EET_T0_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any - -$_ZZZ14check_functionILi4301035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE770_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300889EE = comdat any - -$_ZZZ14check_functionILi4300087EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE86_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300726EE = comdat any - -$_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_ = comdat any - -$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300315EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE314_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4301071EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE806_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayIiLm17EEC2Ev = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300404EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE367_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZNKSt5arrayIiLm5EEixEm = comdat any - -$_ZZZ14check_functionILi4300809EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE632_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300531EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE442_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEcvDv8_DF16_Ev = comdat any - -$_ZZZ14check_functionILi4300065EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE64_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300488EE = comdat any - -$_ZTS6kernelILi4300811EE = comdat any - -$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300275EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE274_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300481EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300407EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZTS6kernelILi4300592EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300411EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE370_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300749EE = comdat any - -$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_ = comdat any - -$_ZTS6kernelILi4300131EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any - -$_ZTS6kernelILi4300508EE = comdat any - -$_ZZZ14check_functionILi4300096EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE95_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300150EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE149_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300082EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE81_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300816EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_ = comdat any - -$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300242EE = comdat any - -$_ZZZ14check_functionILi4300282EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE281_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any - -$_ZTS6kernelILi4300200EE = comdat any - -$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZZZ14check_functionILi4300184EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE183_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any - -$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZZZ14check_functionILi4300273EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE272_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail7Builder11createGroupILi1EEENS0_5groupIXT_EEERKNS0_5rangeIXT_EEES9_S9_RKNS0_2idIXT_EEE = comdat any - -$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_ = comdat any - -$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300066EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE65_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300260EE = comdat any - -$_ZTS6kernelILi4300080EE = comdat any - -$_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300391EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301054EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZTS6kernelILi4300847EE = comdat any - -$_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i = comdat any - -$_ZTS6kernelILi4300668EE = comdat any - -$_ZZZ14check_functionILi4300083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE82_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300491EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE402_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300140EE = comdat any - -$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZTS6kernelILi4300141EE = comdat any - -$_ZTS6kernelILi4300229EE = comdat any - -$_ZTS6kernelILi4300612EE = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZZZ14check_functionILi4300670EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE537_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300313EE = comdat any - -$_ZTS6kernelILi4300625EE = comdat any - -$_ZTS6kernelILi4300098EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300814EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm = comdat any - -$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V13vecIiLi4EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300693EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300021EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE20_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301021EE = comdat any - -$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300866EE = comdat any - -$_ZZZ14check_functionILi4300781EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE604_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any - -$_ZZZ14check_functionILi4300881EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE660_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300155EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE154_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZTS6kernelILi4300161EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZZZ14check_functionILi4300227EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE226_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300201EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4300774EE = comdat any - -$_ZTS6kernelILi4300689EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0DF16_PU3AS0NS1_9half_impl4halfEEET_T0_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIS4_Lm17EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any - -$_ZTS6kernelILi4300518EE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZTS6kernelILi4300145EE = comdat any - -$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4301038EE = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300771EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE594_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301080EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZTS6kernelILi4300540EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300594EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300756EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE579_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ14check_functionILi4300133EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE132_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300914EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300924EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE703_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300751EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE578_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300268EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE267_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300998EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZZZ14check_functionILi4300016EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE15_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE776_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300531EE = comdat any - -$_ZTS6kernelILi4300060EE = comdat any - -$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300583EE = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv = comdat any - -$_ZZZ14check_functionILi4300637EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE504_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300753EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIiiEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS4_ = comdat any - -$_ZTS6kernelILi4300901EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZZZ14check_functionILi4300325EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE324_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm = comdat any - -$_ZZZ14check_functionILi4300801EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE624_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300986EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE729_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300739EE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZNKSt5arrayIiLm16EEixEm = comdat any - -$_ZTS6kernelILi4300105EE = comdat any - -$_ZTS6kernelILi4301052EE = comdat any - -$_ZZZ14check_functionILi4300512EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE423_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300904EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE683_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300638EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE505_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_ = comdat any - -$_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZZZ14check_functionILi4300802EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE625_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZTS6kernelILi4300189EE = comdat any - -$_ZZZ14check_functionILi4300930EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE709_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300417EE = comdat any - -$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300973EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300726EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE569_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300850EE = comdat any - -$_ZZZ14check_functionILi4300910EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE689_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE = comdat any - -$_ZZZ14check_functionILi4300688EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE555_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300997EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZNSt14__array_traitsIiLm3EE6_S_refERA3_Kim = comdat any - -$_ZN4sycl3_V16detail10vec_helperIiE3getEi = comdat any - -$_ZTS6kernelILi4300119EE = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm = comdat any - -$_Z21__spirv_WorkgroupId_xv = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4300297EE = comdat any - -$_ZZZ14check_functionILi4300803EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE626_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300245EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE244_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301022EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE757_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE798_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300188EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE187_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300511EE = comdat any - -$_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE17_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4301068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE803_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf = comdat any - -$_ZTS6kernelILi4300507EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE = comdat any - -$_ZTS6kernelILi4300482EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiEE6CreateERKiS8_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_ZZZ14check_functionILi4300509EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE420_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300925EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE704_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300271EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE270_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300122EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE121_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300796EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300322EE = comdat any - -$_ZZZ14check_functionILi4300058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE57_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_ = comdat any - -$_ZTS6kernelILi4300204EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_ = comdat any - -$_ZTS6kernelILi4300089EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300694EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300997EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300574EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZTS6kernelILi4300693EE = comdat any - -$_ZN4sycl3_V16marrayIiLm2EEixEm = comdat any - -$_ZTS6kernelILi4300894EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZZZ14check_functionILi4300330EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE329_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZZZ14check_functionILi4300011EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE10_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300188EE = comdat any - -$_ZTS6kernelILi4300392EE = comdat any - -$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300652EE = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEEPU3AS0T_Pv = comdat any - -$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300605EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE472_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14itemILi1ELb1EEC2ILb1EEERNSt9enable_ifIXT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEESE_ = comdat any - -$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V13vecIiLi4EEcvDv4_iEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300236EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4300414EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZNKSt5arrayIiLm1EEixEm = comdat any - -$_ZZZ14check_functionILi4301054EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE789_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300812EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE635_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300408EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300886EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE665_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300109EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE108_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300352EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZTS6kernelILi4300477EE = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZTS6kernelILi4300012EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any - -$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300646EE = comdat any - -$_ZZZ14check_functionILi4300683EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE550_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300218EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300897EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE676_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300655EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE522_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300641EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300147EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE146_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300794EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE617_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301068EE = comdat any - -$_ZTS6kernelILi4300645EE = comdat any - -$_ZZZ14check_functionILi4300885EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE664_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300800EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE623_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm8EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300462EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300577EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZZZ14check_functionILi4300675EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE542_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE743_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_ = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE1EEEEES4_RT_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZZZ14check_functionILi4301067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE802_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN7__spirv21initLocalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v = comdat any - -$_ZTS6kernelILi4300728EE = comdat any - -$_ZZZ14check_functionILi4300761EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE584_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300060EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE59_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300099EE = comdat any - -$_ZTS6kernelILi4300252EE = comdat any - -$_ZN7__spirv22InitSizesSTWorkgroupIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300739EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE574_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300237EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE236_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZNK4sycl3_V16marrayIiLm3EEixEm = comdat any - -$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300074EE = comdat any - -$_ZTS6kernelILi4300039EE = comdat any - -$_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf = comdat any - -$_ZZZ14check_functionILi4301078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE813_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300694EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any - -$_ZTS6kernelILi4300657EE = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300391EE = comdat any - -$_ZTS6kernelILi4300138EE = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZTS6kernelILi4300272EE = comdat any - -$_ZZZ14check_functionILi4300778EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE601_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300170EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE169_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300181EE = comdat any - -$_ZTS6kernelILi4301036EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_ = comdat any - -$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZZZ14check_functionILi4300927EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE706_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300647EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE514_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300869EE = comdat any - -$_ZTS6kernelILi4300979EE = comdat any - -$_ZZZ14check_functionILi4300641EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE508_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300975EE = comdat any - -$_ZZZ14check_functionILi4300031EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE30_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13expENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300419EE = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEC2Ev = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300588EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300738EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE573_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9half_impl4halfC2ERKf = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300307EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE306_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZNSt14__array_traitsIiLm12EE6_S_refERA12_Kim = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300479EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300157EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE156_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300323EE = comdat any - -$_ZTS6kernelILi4301055EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZTS6kernelILi4300579EE = comdat any - -$_ZZZ14check_functionILi4300097EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE96_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEvEET_RT0_ = comdat any - -$_ZTS6kernelILi4300692EE = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300980EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE727_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300190EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE189_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_Z23__spirv_WorkgroupSize_xv = comdat any - -$_ZTS6kernelILi4300056EE = comdat any - -$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300596EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE467_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301008EE = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZZZ14check_functionILi4300092EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE91_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZTS6kernelILi4300778EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZTS6kernelILi4300887EE = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V16marrayIiLm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIiLm4EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300396EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300796EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE619_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIiEPU3AS1T_Pv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V16marrayIiLm2EEC2Ev = comdat any - -$_ZZZ14check_functionILi4301038EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE773_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300784EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE607_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300452EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE383_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300094EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE93_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300577EE = comdat any - -$_ZTS6kernelILi4300661EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_ = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm = comdat any - -$_ZTS6kernelILi4300256EE = comdat any - -$_ZTS6kernelILi4300120EE = comdat any - -$_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300686EE = comdat any - -$_ZTS6kernelILi4300660EE = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300912EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE691_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300878EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE657_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300049EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE48_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300029EE = comdat any - -$_ZZZ14check_functionILi4300518EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE429_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ14check_functionILi4300026EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE25_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300350EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE349_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IDv2_DF16_vEES7_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4300630EE = comdat any - -$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EEC2EPU3AS0S4_ = comdat any - -$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300791EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE614_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300524EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE435_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_ = comdat any - -$_ZZZ14check_functionILi4300078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE77_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE807_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi = comdat any - -$_ZZZ14check_functionILi4300145EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE144_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300586EE = comdat any - -$_ZTS6kernelILi4300595EE = comdat any - -$_ZN7__spirv24InitSizesSTNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv = comdat any - -$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm17EEEPS4_EET_T0_ = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZTS6kernelILi4300800EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm17EEEPS6_EET_T0_ = comdat any - -$_ZNSt14__array_traitsIiLm2EE6_S_refERA2_Kim = comdat any - -$_ZTS6kernelILi4300969EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300392EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE363_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm13EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZZZ14check_functionILi4300214EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE213_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZTS6kernelILi4300005EE = comdat any - -$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ14check_functionILi4300063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE62_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300790EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE613_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300239EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE238_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300194EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE193_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300349EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE348_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300315EE = comdat any - -$_ZZZ14check_functionILi4300218EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE217_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300276EE = comdat any - -$_ZTS6kernelILi4300355EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300584EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE463_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300982EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300871EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE654_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300470EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE389_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE749_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZTS6kernelILi4300849EE = comdat any - -$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300603EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300088EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE87_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300186EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300342EE = comdat any - -$_ZTS6kernelILi4301056EE = comdat any - -$_ZTS6kernelILi4300617EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300928EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE707_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE46_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi = comdat any - -$_ZZZ14check_functionILi4301043EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE778_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300077EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE76_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm5EEEEPU3AS0T_Pv = comdat any - -$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZTS6kernelILi4300333EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300467EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any - -$_ZTS6kernelILi4300013EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300471EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE390_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE765_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any - -$_ZTS6kernelILi4300009EE = comdat any - -$_ZTS6kernelILi4300614EE = comdat any - -$_ZZZ14check_functionILi4300095EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE94_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJLm0ELm1EEEERKSt5arrayIS4_Lm2EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any - -$_ZZZ14check_functionILi4301055EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE790_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZZZ14check_functionILi4300506EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE417_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300096EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300666EE = comdat any - -$_ZTS6kernelILi4300793EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZZZ14check_functionILi4300899EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE678_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301076EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE811_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301037EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm3EE6_S_refERA3_KS4_m = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi = comdat any - -$_ZTS6kernelILi4300756EE = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300530EE = comdat any - -$_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_ = comdat any - -$_ZTS6kernelILi4300037EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300741EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZZZ14check_functionILi4300168EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE167_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300597EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE468_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300472EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZTS6kernelILi4300387EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4301058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE793_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300590EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE465_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE = comdat any - -$_ZTS6kernelILi4300142EE = comdat any - -$_ZZZ14check_functionILi4300346EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE345_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300873EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300916EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE695_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300464EE = comdat any - -$_ZTS6kernelILi4300280EE = comdat any - -$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300732EE = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZNSt14__array_traitsIiLm11EE6_S_refERA11_Kim = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZTS6kernelILi4300139EE = comdat any - -$_ZTS6kernelILi4301061EE = comdat any - -$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300768EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE591_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300769EE = comdat any - -$_ZTS6kernelILi4300412EE = comdat any - -$_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300656EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE523_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300576EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300272EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE271_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300679EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm4EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300535EE = comdat any - -$_ZZZ14check_functionILi4300140EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE139_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300059EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE58_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any - -$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300813EE = comdat any - -$_ZTS6kernelILi4300505EE = comdat any - -$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4301057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE792_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300159EE = comdat any - -$_ZTS6kernelILi4300072EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300968EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE723_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300861EE = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4301009EE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_iNS0_3vecIiLi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300742EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300073EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4301034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE769_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300154EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE153_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZZZ14check_functionILi4300043EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE42_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300995EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300572EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE459_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300624EE = comdat any - -$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300463EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300642EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE509_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300453EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE384_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300219EE = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300008EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300402EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300077EE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any - -$_ZZZ14check_functionILi4300181EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE180_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300335EE = comdat any - -$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300059EE = comdat any - -$_ZZZ14check_functionILi4300639EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE506_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300143EE = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any - -$_ZTS6kernelILi4300788EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm4EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm2EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any - -$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any - -$_ZTS6kernelILi4300639EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300933EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE712_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300469EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any - -$_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4300157EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300178EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE177_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300640EE = comdat any - -$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300621EE = comdat any - -$_ZZZ14check_functionILi4300054EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE53_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300187EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE186_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301067EE = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300071EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_ = comdat any - -$_ZTS6kernelILi4300856EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN4sycl3_V16marrayIiLm3EE4sizeEv = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any - -$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm5EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZTS6kernelILi4300153EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300536EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE447_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE738_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300219EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE218_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300172EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE171_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300017EE = comdat any - -$_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V14itemILi1ELb0EEC2ILb0EEERNSt9enable_ifIXntT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300144EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE143_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE51_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300326EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE325_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any - -$_ZNK4sycl3_V16marrayIiLm4EEixEm = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZTS6kernelILi4300248EE = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm2EEEPS4_EET_T0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300593EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZZZ14check_functionILi4300650EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE517_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ14check_functionILi4300499EN4sycl3_V16marrayIiLm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE410_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300317EE = comdat any - -$_ZZZ14check_functionILi4300623EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE490_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300771EE = comdat any - -$_ZZZ14check_functionILi4300171EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE170_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZZZ14check_functionILi4301015EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE750_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4300919EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZTS6kernelILi4301016EE = comdat any - -$_ZZZ14check_functionILi4301005EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE740_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayIiLm5EEixEm = comdat any - -$_ZTS6kernelILi4300670EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16marrayIiLm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIiLm3EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300937EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300792EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE615_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm16EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300390EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V16detail5arrayILi1EEixEi = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300982EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZZZ14check_functionILi4300257EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE256_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZTS6kernelILi4300735EE = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300460EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZZZ14check_functionILi4300309EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE308_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEES4_RT_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZTS6kernelILi4300415EE = comdat any - -$_ZTS6kernelILi4300615EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_ = comdat any - -$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300504EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE415_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300487EE = comdat any - -$_ZZZ14check_functionILi4300310EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE309_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300984EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZTS6kernelILi4300502EE = comdat any - -$_ZTS6kernelILi4300934EE = comdat any - -$_ZTS6kernelILi4300923EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300332EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE331_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300275EE = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZTS6kernelILi4301020EE = comdat any - -$_ZZZ14check_functionILi4300645EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE512_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZZZ14check_functionILi4300279EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE278_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300169EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE168_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE4sizeEv = comdat any - -$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE16FlattenMArrayArgIS4_fEclERKf = comdat any - -$_ZZZ14check_functionILi4301062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE797_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300601EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZTS6kernelILi4300154EE = comdat any - -$_ZZZ14check_functionILi4300050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE49_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4301011EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE746_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300469EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any - -$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZTS6kernelILi4300132EE = comdat any - -$_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm5EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE = comdat any - -$_ZTS6kernelILi4300522EE = comdat any - -$_ZZZ14check_functionILi4300774EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE597_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300156EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE155_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300925EE = comdat any - -$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300458EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE385_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZZZ14check_functionILi4301026EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE761_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300772EE = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEcvDv16_DF16_Ev = comdat any - -$_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZTS6kernelILi4300420EE = comdat any - -$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4301037EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE772_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZTS6kernelILi4300905EE = comdat any - -$_ZTS6kernelILi4300104EE = comdat any - -$_ZTS6kernelILi4300243EE = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300340EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any - -$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300504EE = comdat any - -$_ZZZ14check_functionILi4300216EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE215_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300883EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE662_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300528EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300988EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300189EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE188_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE = comdat any - -$_ZTS6kernelILi4300636EE = comdat any - -$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZTS6kernelILi4301060EE = comdat any - -$_ZZZ14check_functionILi4300759EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE582_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m = comdat any - -$_ZTS6kernelILi4300215EE = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZZZ14check_functionILi4300482EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE393_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300023EE = comdat any - -$_ZNKSt5arrayIiLm8EEixEm = comdat any - -$_ZNSt14__array_traitsIiLm15EE6_S_refERA15_Kim = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEvEET_RT0_ = comdat any - -$_ZZZ14check_functionILi4300798EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE621_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300079EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any - -$_ZTS6kernelILi4300100EE = comdat any - -$_ZTS6kernelILi4300480EE = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4301033EE = comdat any - -$_ZN16value_operations6assignIiiEENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS2_RKS3_ = comdat any - -$_ZTS6kernelILi4301026EE = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16marrayIiLm4EEC2Ev = comdat any - -$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZTS6kernelILi4300678EE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZN4sycl3_V16detail7Builder12createNDItemILi1EEENS0_7nd_itemIXT_EEERKNS0_4itemIXT_ELb1EEERKNS6_IXT_ELb0EEERKNS0_5groupIXT_EEE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev = comdat any - -$_ZZZ14check_functionILi4300507EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE418_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300929EE = comdat any - -$_ZTS6kernelILi4301002EE = comdat any - -$_ZTS6kernelILi4300463EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300224EE = comdat any - -$_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE = comdat any - -$_ZTS6kernelILi4300116EE = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300750EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE577_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_ = comdat any - -$_ZTS6kernelILi4300479EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZTS6kernelILi4300920EE = comdat any - -$_ZTS6kernelILi4300656EE = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300288EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any - -$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300028EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300456EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300770EE = comdat any - -$_ZZZ14check_functionILi4300304EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE303_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300389EE = comdat any - -$_ZTS6kernelILi4300582EE = comdat any - -$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300030EE = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm12EE6_S_refERA12_KS4_m = comdat any - -$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300665EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE532_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_ = comdat any - -$_ZTS6kernelILi4300988EE = comdat any - -$_ZTS6kernelILi4300290EE = comdat any - -$_ZTS6kernelILi4301078EE = comdat any - -$_ZTS6kernelILi4300107EE = comdat any - -$_ZZZ14check_functionILi4300513EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE424_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300194EE = comdat any - -$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any - -$_ZZZ14check_functionILi4300888EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE667_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300876EE = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_ = comdat any - -$_ZZZ14check_functionILi4300505EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE416_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNKSt5arrayIiLm7EEixEm = comdat any - -$_ZTS6kernelILi4300460EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300985EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm15EE6_S_refERA15_KS4_m = comdat any - -$_ZZZ14check_functionILi4300004EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE3_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300400EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300755EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300247EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE246_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300354EE = comdat any - -$_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_ = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1DF16_PU3AS1NS1_9half_impl4halfEEET_T0_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300225EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE224_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300598EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300305EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300413EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZTS6kernelILi4300093EE = comdat any - -$_ZZZ14check_functionILi4300025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE24_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301027EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE762_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm16EE6_S_refERA16_KS4_m = comdat any - -$_ZTS6kernelILi4300214EE = comdat any - -$_ZZZ14check_functionILi4300685EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE552_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300897EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZTS6kernelILi4300637EE = comdat any - -$_ZTS6kernelILi4300987EE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300906EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE685_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300503EE = comdat any - -$_ZZZ14check_functionILi4300038EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE37_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300343EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE342_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZZZ14check_functionILi4300229EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE228_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300805EE = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4301022EE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300296EE = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_ = comdat any - -$_ZTS6kernelILi4301044EE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEvEET_RT0_ = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZTS6kernelILi4300279EE = comdat any - -$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZZZ14check_functionILi4300106EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE105_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300346EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_ZTS6kernelILi4300160EE = comdat any - -$_ZTS6kernelILi4300525EE = comdat any - -$_ZZZ14check_functionILi4300161EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE160_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300327EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE326_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZTS6kernelILi4300225EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300589EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301006EE = comdat any - -$_ZTS6kernelILi4300734EE = comdat any - -$_ZTS6kernelILi4300339EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EE4sizeEv = comdat any - -$_ZZZ14check_functionILi4300196EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE195_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300862EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0iS4_EET_T0_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZZZ14check_functionILi4300024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE23_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZZZ14check_functionILi4300999EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE734_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300394EE = comdat any - -$_ZZZ14check_functionILi4300295EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE294_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300186EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE185_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300616EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE483_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZTS6kernelILi4300642EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300811EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE634_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_Z28__spirv_GlobalInvocationId_xv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300308EE = comdat any - -$_ZTS6kernelILi4300779EE = comdat any - -$_ZTS6kernelILi4300859EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZTS6kernelILi4300020EE = comdat any - -$_ZZZ14check_functionILi4300032EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE31_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i = comdat any - -$_ZZZ14check_functionILi4300630EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE497_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301082EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE817_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300918EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE697_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZNKSt5arrayIiLm6EEixEm = comdat any - -$_ZTS6kernelILi4300301EE = comdat any - -$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZZZ14check_functionILi4300014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE13_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300903EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE682_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE760_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300403EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any - -$_ZTS6kernelILi4300591EE = comdat any - -$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300417EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE372_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev = comdat any - -$_ZZZ14check_functionILi4300519EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE430_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm17EEES6_EET_T0_ = comdat any - -$_ZZZ14check_functionILi4300877EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE656_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZTS6kernelILi4300687EE = comdat any - -$_ZZZ14check_functionILi4300051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE50_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_ZTS6kernelILi4300307EE = comdat any - -$_ZTS6kernelILi4300338EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm12EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZTS6kernelILi4301051EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300310EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300539EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any - -$_ZZZ14check_functionILi4300056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE55_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300681EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300735EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300386EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE361_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZNK4sycl3_V16marrayIiLm2EE16FlattenMArrayArgIiiEclERKi = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300110EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE109_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300088EE = comdat any - -$_ZTS6kernelILi4300399EE = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi = comdat any - -$_ZTS6kernelILi4300618EE = comdat any - -$_ZZZ14check_functionILi4300789EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE612_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300032EE = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZZZ14check_functionILi4300160EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE159_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300274EE = comdat any - -$_ZTS6kernelILi4300022EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZZZ14check_functionILi4300037EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE36_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300231EE = comdat any - -$_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_iNS0_3vecIiLi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZTS6kernelILi4300654EE = comdat any - -$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE61_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300220EE = comdat any - -$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300936EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE12_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300989EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZTS6kernelILi4300750EE = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4300928EE = comdat any - -$_ZNKSt17integral_constantImLm0EEcvmEv = comdat any - -$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300596EE = comdat any - -$_ZZZ14check_functionILi4301045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE780_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any - -$_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300117EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE116_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm = comdat any - -$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300412EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZTS6kernelILi4300076EE = comdat any - -$_ZZZ14check_functionILi4300129EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE128_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZZZ14check_functionILi4300287EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE286_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300286EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE285_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300180EE = comdat any - -$_ZZZ14check_functionILi4300069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE68_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE72_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300672EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE539_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm8EE6_S_refERA8_KS4_m = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300115EE = comdat any - -$_ZTS6kernelILi4300223EE = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZTS6kernelILi4300921EE = comdat any - -$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZTS6kernelILi4300490EE = comdat any - -$_ZTS6kernelILi4300092EE = comdat any - -$_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300628EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE495_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300273EE = comdat any - -$_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300351EE = comdat any - -$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZTS6kernelILi4301066EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300996EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_Z20__spirv_GlobalSize_xv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZTS6kernelILi4301007EE = comdat any - -$_ZZZ14check_functionILi4300678EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE545_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE6_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300760EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE583_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300523EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE434_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZTS6kernelILi4300266EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4301039EE = comdat any - -$_ZTS6kernelILi4300148EE = comdat any - -$_ZNSt14__array_traitsIiLm5EE6_S_refERA5_Kim = comdat any - -$_ZZZ14check_functionILi4300020EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE19_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN7__spirv21InitSizesSTGlobalSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv = comdat any - -$_ZZZ14check_functionILi4301070EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE805_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_ = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm9EE6_S_refERA9_KS4_m = comdat any - -$_ZTS6kernelILi4300890EE = comdat any - -$_ZZZ14check_functionILi4300131EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE130_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300228EE = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300113EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE112_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZZZ14check_functionILi4301053EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE788_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any - -$_ZTS6kernelILi4300683EE = comdat any - -$_ZZZ14check_functionILi4301024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE759_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301020EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE755_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300977EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any - -$_ZZZ14check_functionILi4300614EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE481_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300651EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300752EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_Z27__spirv_LocalInvocationId_xv = comdat any - -$_ZTS6kernelILi4300524EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_ = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEES4_RT_ = comdat any - -$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300415EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300733EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE572_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZZZ14check_functionILi4300908EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE687_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300602EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE469_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300208EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE207_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE1_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300608EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300405EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE368_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300599EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300268EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_ = comdat any - -$_ZTS6kernelILi4300801EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any - -$_ZZZ14check_functionILi4300220EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE219_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300172EE = comdat any - -$_ZZZ14check_functionILi4300029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE28_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayIiLm3EEC2Ev = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300876EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300534EE = comdat any - -$_ZTS6kernelILi4300209EE = comdat any - -$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300806EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE629_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300931EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE710_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300015EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZZZ14check_functionILi4300487EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE398_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300623EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZTS6kernelILi4300403EE = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300999EE = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZTS6kernelILi4300064EE = comdat any - -$_ZTS6kernelILi4300992EE = comdat any - -$_ZTS6kernelILi4300787EE = comdat any - -$_ZTS6kernelILi4300798EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE = comdat any - -$_ZTS6kernelILi4300174EE = comdat any - -$_ZTS6kernelILi4300676EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300464EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE387_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300457EE = comdat any - -$_ZZZ14check_functionILi4300893EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE672_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZZZ14check_functionILi4300035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE34_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300729EE = comdat any - -$_ZZZ14check_functionILi4300221EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE220_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4300644EE = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf = comdat any - -$_ZTS6kernelILi4300761EE = comdat any - -$_ZZZ14check_functionILi4300669EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE536_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4301081EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE816_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300483EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300736EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300164EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE163_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300672EE = comdat any - -$_ZTS6kernelILi4300898EE = comdat any - -$_ZTS6kernelILi4300179EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any - -$_ZTS6kernelILi4301072EE = comdat any - -$_ZZZ14check_functionILi4300535EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE446_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300617EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE484_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EE4sizeEv = comdat any - -$_ZTS6kernelILi4300764EE = comdat any - -$_ZTS6kernelILi4300765EE = comdat any - -$_ZTS6kernelILi4300135EE = comdat any - -$_ZZZ14check_functionILi4301006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE741_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300979EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_ = comdat any - -$_ZZZ14check_functionILi4300534EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE445_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300421EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_ = comdat any - -$_ZTS6kernelILi4300752EE = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEEPU3AS0T_Pv = comdat any - -$_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300242EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE241_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300290EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE289_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300388EE = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi = comdat any - -$_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_ = comdat any - -$_ZZZ14check_functionILi4300132EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE131_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZTS6kernelILi4300585EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300354EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300126EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE125_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300244EE = comdat any - -$_ZTS6kernelILi4300853EE = comdat any - -$_ZN7__spirv17initWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EEC2EPU3AS0i = comdat any - -$_ZZZ14check_functionILi4300061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE60_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300055EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZZZ14check_functionILi4300529EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE440_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300681EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE548_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZNKSt5arrayIiLm10EEixEm = comdat any - -$_ZTS6kernelILi4301063EE = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300338EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE337_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300662EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE529_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm4EEES8_EET_T0_ = comdat any - -$_ZTS6kernelILi4300512EE = comdat any - -$_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE = comdat any - -$_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300572EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any - -$_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300491EE = comdat any - -$_ZTS6kernelILi4300917EE = comdat any - -$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300899EE = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300754EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300484EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE395_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4301003EE = comdat any - -$_ZZZ14check_functionILi4301002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE737_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300409EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZZZ14check_functionILi4301047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE782_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301057EE = comdat any - -$_ZZZ14check_functionILi4300006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE5_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZTS6kernelILi4300872EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_ = comdat any - -$_ZTS6kernelILi4300084EE = comdat any - -$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_iNS0_3vecIiLi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_ = comdat any - -$_ZN4sycl3_V16marrayIiLm5EE4sizeEv = comdat any - -$_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300173EE = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300598EE = comdat any - -$_ZTS6kernelILi4300730EE = comdat any - -$_ZTS6kernelILi4300222EE = comdat any - -$_ZZZ14check_functionILi4300243EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE242_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZZZ14check_functionILi4300114EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE113_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any - -$_ZTS6kernelILi4300519EE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEvEET_RT0_ = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300068EE = comdat any - -$_ZZZ14check_functionILi4301007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE742_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300530EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE441_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE45_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm6EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any - -$_ZZZ14check_functionILi4300632EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE499_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300122EE = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300760EE = comdat any - -$_ZTS6kernelILi4300888EE = comdat any - -$_ZZZ14check_functionILi4300804EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE627_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300863EE = comdat any - -$_ZTS6kernelILi4300177EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any - -$_ZZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZTS6kernelILi4300086EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_ = comdat any - -$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4301064EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE799_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300582EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIS4_Lm4EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300240EE = comdat any - -$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300398EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE365_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ14check_functionILi4300769EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE592_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300744EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE575_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300657EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE524_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm17EEEEPU3AS0T_Pv = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZZZ14check_functionILi4300127EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE126_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNSt14__array_traitsIiLm1EE6_S_refERA1_Kim = comdat any - -$_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4301033EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE768_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZZZ14check_functionILi4300501EN4sycl3_V16marrayIiLm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE412_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm2EEEEPU3AS0T_Pv = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZTS6kernelILi4300918EE = comdat any - -$_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300419EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZTS6kernelILi4300255EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300180EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE179_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZTS6kernelILi4300065EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300677EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE544_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZTS6kernelILi4300021EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300575EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZTS6kernelILi4300785EE = comdat any - -$_ZTS6kernelILi4300520EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv = comdat any - -$_ZTS6kernelILi4301004EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300969EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE724_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301046EE = comdat any - -$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300731EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4301019EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300476EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE391_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayIiLm17EE4sizeEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300473EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIiEPU3AS0T_Pv = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300209EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE208_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEES4_RT_ = comdat any - -$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_ = comdat any - -$_ZNSt14__array_traitsIiLm16EE6_S_refERA16_Kim = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300854EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE649_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_ = comdat any - -$_ZZZ14check_functionILi4300686EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE553_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300010EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE9_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301013EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0iPiEET_T0_ = comdat any - -$_ZTS6kernelILi4300461EE = comdat any - -$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv = comdat any - -$_ZTS6kernelILi4301070EE = comdat any - -$_ZTS6kernelILi4300500EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_ = comdat any - -$_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300971EE = comdat any - -$_ZZZ14check_functionILi4300289EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE288_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm = comdat any - -$_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300527EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE438_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301077EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300747EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm10EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300128EE = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZTS6kernelILi4300759EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE = comdat any - -$_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim = comdat any - -$_ZZZ14check_functionILi4300682EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE549_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300211EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300655EE = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev = comdat any - -$_ZNSt14__array_traitsIiLm10EE6_S_refERA10_Kim = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300765EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE588_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm1EE6_S_refERA1_KS4_m = comdat any - -$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300320EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE319_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300024EE = comdat any - -$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300240EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE239_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300768EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300298EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE297_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300135EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE134_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300541EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300875EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300165EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE164_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm3EEES6_EET_T0_ = comdat any - -$_ZTS6kernelILi4300318EE = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE = comdat any - -$_ZZZ14check_functionILi4301039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE774_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300930EE = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300000EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300903EE = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300085EE = comdat any - -$_ZZZ14check_functionILi4300153EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE152_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300597EE = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300170EE = comdat any - -$_ZN7__spirv23InitSizesSTGlobalOffsetILi1EN4sycl3_V12idILi1EEEE8initSizeEv = comdat any - -$_ZZZ14check_functionILi4300805EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE628_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300807EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE630_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300112EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE111_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300212EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE211_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300586EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300344EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE343_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZZZ14check_functionILi4300757EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE580_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300533EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE444_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZTS6kernelILi4300163EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300538EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZTS6kernelILi4300812EE = comdat any - -$_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300405EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300792EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300869EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301075EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE810_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300856EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZZZ14check_functionILi4301000EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE735_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE1EEEEES4_RT_ = comdat any - -$_ZTS6kernelILi4300178EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300669EE = comdat any - -$_ZTS6kernelILi4300797EE = comdat any - -$_ZTS6kernelILi4300937EE = comdat any - -$_ZTS6kernelILi4300881EE = comdat any - -$_ZZZ14check_functionILi4300680EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE547_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNKSt5arrayIiLm3EEixEm = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_ZTS6kernelILi4300398EE = comdat any - -$_ZN4sycl3_V17nd_itemILi1EEC2ERKNS0_4itemILi1ELb1EEERKNS3_ILi1ELb0EEERKNS0_5groupILi1EEE = comdat any - -$_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300579EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE462_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300776EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZTS6kernelILi4300031EE = comdat any - -$_ZTS6kernelILi4300611EE = comdat any - -$_ZTS6kernelILi4301010EE = comdat any - -$_ZTS6kernelILi4300182EE = comdat any - -$_ZTS6kernelILi4300613EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm3EEES8_EET_T0_ = comdat any - -$_ZZZ14check_functionILi4300001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE0_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300810EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE633_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300322EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE321_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZZZ14check_functionILi4300919EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE698_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE791_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300309EE = comdat any - -$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_ = comdat any - -$_ZTS6kernelILi4300025EE = comdat any - -$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300033EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE32_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301025EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300285EE = comdat any - -$_ZTS6kernelILi4300101EE = comdat any - -$_ZTS6kernelILi4300492EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300410EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE369_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15groupILi1EEC2ERKNS0_5rangeILi1EEES6_S4_RKNS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300280EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE279_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZTS6kernelILi4300241EE = comdat any - -$_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300399EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE366_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300620EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300786EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE609_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300484EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZTS6kernelILi4300751EE = comdat any - -$_ZZZ14check_functionILi4300622EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE489_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300294EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300799EE = comdat any - -$_ZTS6kernelILi4301065EE = comdat any - -$_ZZZ14check_functionILi4300003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE2_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_ZZZ14check_functionILi4300274EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE273_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300885EE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZTS6kernelILi4300599EE = comdat any - -$_ZTS6kernelILi4301023EE = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE4sizeEv = comdat any - -$_ZTS6kernelILi4300413EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300872EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE655_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300232EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300527EE = comdat any - -$_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300601EE = comdat any - -$_ZTS6kernelILi4301011EE = comdat any - -$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300514EE = comdat any - -$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4301081EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfEE6CreateERKf = comdat any - -$_ZZZ14check_functionILi4300197EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE196_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4301065EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE800_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm = comdat any - -$_ZZZ14check_functionILi4300265EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE264_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE775_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300308EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE307_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4300476EE = comdat any - -$_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_ = comdat any - -$_ZTS6kernelILi4300249EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS3DF16_PU3AS3NS1_9half_impl4halfEEET_T0_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZZZ14check_functionILi4300071EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE70_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300303EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE302_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i = comdat any - -$_ZZZ14check_functionILi4300659EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE526_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE = comdat any - -$_ZTS6kernelILi4300411EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZTS6kernelILi4300393EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300691EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE558_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300400EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm7EE6_S_refERA7_KS4_m = comdat any - -$_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300786EE = comdat any - -$_ZZZ14check_functionILi4300146EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE145_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE = comdat any - -$_ZZZ14check_functionILi4300511EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE422_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300016EE = comdat any - -$_ZTS6kernelILi4300033EE = comdat any - -$_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300633EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE500_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300799EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE622_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4301071EE = comdat any - -$_ZZZ14check_functionILi4300107EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE106_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZTS6kernelILi4301005EE = comdat any - -$_ZTS6kernelILi4300127EE = comdat any - -$_ZTS6kernelILi4300057EE = comdat any - -$_ZZZ14check_functionILi4300104EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE103_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EEC2EPU3AS0S4_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300932EE = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZZZ14check_functionILi4301046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE781_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300900EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE679_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE753_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZZZ14check_functionILi4300231EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE230_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300906EE = comdat any - -$_ZTS6kernelILi4300767EE = comdat any - -$_ZTS6kernelILi4300537EE = comdat any - -$_ZTS6kernelILi4300247EE = comdat any - -$_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE = comdat any - -$_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300742EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiEE6CreateERKi = comdat any - -$_ZZZ14check_functionILi4300634EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE501_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300285EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE284_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300480EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300316EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE315_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300679EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE546_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300050EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZZZ14check_functionILi4300141EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE140_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm2EEEPS6_EET_T0_ = comdat any - -$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_ = comdat any - -$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZZZ14check_functionILi4300124EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE123_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZTS6kernelILi4300691EE = comdat any - -$_ZZZ14check_functionILi4300342EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE341_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE = comdat any - -$_ZZZ14check_functionILi4300260EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE259_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZTS6kernelILi4300851EE = comdat any - -$_ZN4sycl3_V16marrayIiLm17EEixEm = comdat any - -$_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZTS6kernelILi4300176EE = comdat any - -$_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm4EEEEPU3AS0T_Pv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300874EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZZZ14check_functionILi4300167EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE166_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300731EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm3EEEEPU3AS0T_Pv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IDv4_DF16_vEES7_ = comdat any - -$_ZTS6kernelILi4300264EE = comdat any - -$_ZTS6kernelILi4300000EE = comdat any - -$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZTS6kernelILi4300171EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300345EE = comdat any - -$_ZZZ14check_functionILi4300661EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE528_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301048EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE783_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300134EE = comdat any - -$_ZTS6kernelILi4300610EE = comdat any - -$_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300991EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300095EE = comdat any - -$_ZZZ14check_functionILi4300238EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE237_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZZZ14check_functionILi4300492EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE403_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300632EE = comdat any - -$_ZTS6kernelILi4300884EE = comdat any - -$_ZZZ14check_functionILi4300526EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE437_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_ = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS3iPiEET_T0_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev = comdat any - -$_ZTS6kernelILi4300629EE = comdat any - -$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300162EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300859EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE650_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300894EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE673_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE83_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300929EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE708_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev = comdat any - -$_ZN4sycl3_V16detail5arrayILi1EEixEi = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any - -$_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIN4sycl3_V16detail9half_impl4halfEEPU3AS1T_Pv = comdat any - -$_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300883EE = comdat any - -$_ZTS6kernelILi4300300EE = comdat any - -$_ZZZ14check_functionILi4300292EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE291_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300175EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE174_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300643EE = comdat any - -$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300854EE = comdat any - -$_ZTS6kernelILi4300158EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300406EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300857EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300802EE = comdat any - -$_ZTS6kernelILi4300667EE = comdat any - -$_ZZZ14check_functionILi4300486EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE397_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300593EE = comdat any - -$_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300517EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE428_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300974EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE725_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300113EE = comdat any - -$_ZN4sycl3_V114local_accessorIiLi1EEC2Ev = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZZZ14check_functionILi4300648EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE515_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4301083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE818_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300913EE = comdat any - -$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_ = comdat any - -$_ZTS6kernelILi4300753EE = comdat any - -$_ZZZ14check_functionILi4300336EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE335_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZZZ14check_functionILi4300913EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE692_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300638EE = comdat any - -$_ZTS6kernelILi4301082EE = comdat any - -$_ZTS6kernelILi4300350EE = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm6EE6_S_refERA6_KS4_m = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZTS6kernelILi4300329EE = comdat any - -$_ZZZ14check_functionILi4300490EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE401_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300245EE = comdat any - -$_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300313EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE312_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300882EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE661_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300915EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE694_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300421EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZTS6kernelILi4300319EE = comdat any - -$_ZZZ14check_functionILi4300314EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE313_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE809_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300516EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300263EE = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4301084EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300794EE = comdat any - -$_ZZZ14check_functionILi4300920EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE699_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNKSt5arrayIiLm9EEixEm = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIS4_Lm3EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZTS6kernelILi4301085EE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300728EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZTS6kernelILi4300665EE = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm2EE6_S_refERA2_KS4_m = comdat any - -$_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4301064EE = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300149EE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEvEET_RT0_ = comdat any - -$_ZZZ14check_functionILi4300262EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE261_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300855EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZTS6kernelILi4301047EE = comdat any - -$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300976EE = comdat any - -$_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE7getSizeEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300454EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300745EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE576_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300584EE = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EE4sizeEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEEPU3AS0T_Pv = comdat any - -$_ZZZ14check_functionILi4300788EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE611_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZNK4sycl3_V16marrayIiLm2EEixEm = comdat any - -$_ZTS6kernelILi4300049EE = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayIiLm17EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_ = comdat any - -$_ZTS6kernelILi4301034EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZZZ14check_functionILi4300666EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE533_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300295EE = comdat any - -$_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_ = comdat any - -$_ZNK4sycl3_V13vecIiLi16EEcvDv16_iEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZNK4sycl3_V13vecIiLi3EEcvDv3_iEv = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEvEET_RT0_ = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ14check_functionILi4300335EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE334_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm5EEEPS4_EET_T0_ = comdat any - -$_ZZZ14check_functionILi4300348EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE347_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE33_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300994EE = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfES6_EET_T0_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300022EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE21_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300116EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE115_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm = comdat any - -$_ZTS6kernelILi4300045EE = comdat any - -$_ZTS6kernelILi4300063EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4300741EE = comdat any - -$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300003EE = comdat any - -$_ZZZ14check_functionILi4300667EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE534_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300093EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE92_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300477EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE392_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300729EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16marrayIiLm2EEC2IJLm0ELm1EEEERKSt5arrayIiLm2EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300329EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE328_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300521EE = comdat any - -$_ZTS6kernelILi4300536EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZTS6kernelILi4300121EE = comdat any - -$_ZTS6kernelILi4300454EE = comdat any - -$_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300179EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE178_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE819_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZZZ14check_functionILi4300125EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE124_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300649EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE516_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300675EE = comdat any - -$_ZZZ14check_functionILi4300895EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE674_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300684EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE551_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZZZ14check_functionILi4300337EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE336_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZZZ14check_functionILi4300023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE22_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300815EE = comdat any - -$_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300587EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZTS6kernelILi4300352EE = comdat any - -$_ZTS6kernelILi4300684EE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any - -$_ZZZ14check_functionILi4300142EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE141_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300458EE = comdat any - -$_ZTS6kernelILi4300192EE = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4300211EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE210_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv = comdat any - -$_ZZZ14check_functionILi4300101EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE100_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZZZ14check_functionILi4300503EN4sycl3_V16marrayIiLm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE414_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300311EE = comdat any - -$_ZTS6kernelILi4300991EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300867EE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300815EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_ = comdat any - -$_ZTS6kernelILi4300848EE = comdat any - -$_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi = comdat any - -$_ZZZ14check_functionILi4300009EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE8_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayIiLm4EEixEm = comdat any - -$_ZTS6kernelILi4300757EE = comdat any - -$_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300884EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE663_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any - -$_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZTS6kernelILi4300416EE = comdat any - -$_ZZZ14check_functionILi4300522EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE433_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300810EE = comdat any - -$_ZTS6kernelILi4300324EE = comdat any - -$_ZZZ14check_functionILi4300269EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE268_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNSt14__array_traitsIiLm14EE6_S_refERA14_Kim = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300098EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE97_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm14EE6_S_refERA14_KS4_m = comdat any - -$_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ14check_functionILi4301004EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE739_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300506EE = comdat any - -$_ZTS6kernelILi4300809EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300587EE = comdat any - -$_ZTS6kernelILi4300912EE = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300583EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300682EE = comdat any - -$_ZZZ14check_functionILi4300603EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE470_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_ = comdat any - -$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300990EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16marrayIiLm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIiLm17EESt16integer_sequenceImJXspT_EEE = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZTS6kernelILi4301012EE = comdat any - -$_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE = comdat any - -$_ZTS6kernelILi4300662EE = comdat any - -$_ZTS6kernelILi4300212EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300185EE = comdat any - -$_ZZZ14check_functionILi4301031EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE766_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4301048EE = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300389EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZTS6kernelILi4301043EE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE = comdat any - -$_ZTS6kernelILi4300221EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_ZN4sycl3_V16marrayIiLm2EE22FlattenMArrayArgHelperIiiEEDaRKT0_ = comdat any - -$_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_ = comdat any - -$_ZZZ14check_functionILi4300226EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE225_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_ = comdat any - -$_ZTS6kernelILi4300631EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZZZ14check_functionILi4300889EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE668_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZZZ14check_functionILi4300291EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE290_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300193EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE192_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300206EE = comdat any - -$_ZTS6kernelILi4300924EE = comdat any - -$_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300775EE = comdat any - -$_ZTS6kernelILi4301001EE = comdat any - -$_ZTS6kernelILi4300605EE = comdat any - -$_ZTS6kernelILi4300004EE = comdat any - -$_ZZZ14check_functionILi4300228EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE227_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300668EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE535_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300493EE = comdat any - -$_ZZZ14check_functionILi4300138EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE137_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300078EE = comdat any - -$_ZZZ14check_functionILi4300266EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE265_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300082EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZTS6kernelILi4300302EE = comdat any - -$_ZZZ14check_functionILi4300123EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE122_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300777EE = comdat any - -$_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE1EEEEES4_RT_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_ = comdat any - -$_ZZZ14check_functionILi4300671EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE538_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300690EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE557_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm = comdat any - -$_ZTS6kernelILi4300880EE = comdat any - -$_ZN4sycl3_V13vecIiLi2EEC2IDv2_ivEES4_ = comdat any - -$_ZZZ14check_functionILi4300202EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE201_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300351EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE350_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300478EE = comdat any - -$_ZTS6kernelILi4300874EE = comdat any - -$_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm = comdat any - -$_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZTS6kernelILi4300807EE = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any - -$_ZTS6kernelILi4300989EE = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300387EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE362_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv = comdat any - -$_ZTS6kernelILi4300326EE = comdat any - -$_ZTS6kernelILi4300210EE = comdat any - -$_ZTS6kernelILi4300865EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300578EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE461_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300420EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300195EE = comdat any - -$_ZZZ14check_functionILi4300159EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE158_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300580EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm3EEEPS6_EET_T0_ = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any - -$_ZTS6kernelILi4300112EE = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300001EE = comdat any - -$_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZTS6kernelILi4300303EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ14check_functionILi4300103EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE102_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE = comdat any - -$_ZTS6kernelILi4300044EE = comdat any - -$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300516EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE427_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300574EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300868EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZZZ14check_functionILi4301061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE796_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300227EE = comdat any - -$_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any - -$_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZZZ14check_functionILi4300687EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE554_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300975EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE726_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IDv16_DF16_vEES7_ = comdat any - -$_ZTS6kernelILi4300067EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_ = comdat any - -$_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv = comdat any - -$_ZZZ14check_functionILi4300259EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE258_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_ = comdat any - -$_ZTS6kernelILi4301040EE = comdat any - -$_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300130EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE129_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE = comdat any - -$_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm = comdat any - -$_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEEPU3AS0T_Pv = comdat any - -$_ZZZ14check_functionILi4300256EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE255_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300850EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300748EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300472EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300734EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv = comdat any - -$_ZZZ14check_functionILi4300783EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE606_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300688EE = comdat any - -$_ZTS6kernelILi4300908EE = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE = comdat any - -$_ZZZ31check_function_multi_ptr_globalILi4300540EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_ = comdat any - -$_ZZZ14check_functionILi4301012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE747_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300203EE = comdat any - -$_ZTS6kernelILi4300409EE = comdat any - -$_ZTS6kernelILi4300533EE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_ = comdat any - -$_ZTS6kernelILi4301059EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300995EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv = comdat any - -$_ZTS6kernelILi4300010EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300861EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZZZ14check_functionILi4301079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE814_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE786_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300038EE = comdat any - -$_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_ = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300353EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev = comdat any - -$_ZZZ14check_functionILi4300244EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE243_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300258EE = comdat any - -$_ZTS6kernelILi4300136EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZTS6kernelILi4300647EE = comdat any - -$_ZTS6kernelILi4300054EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE = comdat any - -$_ZTS6kernelILi4301031EE = comdat any - -$_ZZZ14check_functionILi4301059EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE794_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_ = comdat any - -$_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300110EE = comdat any - -$_ZZZ14check_functionILi4300331EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE330_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300296EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE295_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300453EE = comdat any - -$_ZTS6kernelILi4300452EE = comdat any - -$_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZTS6kernelILi4300590EE = comdat any - -$_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv = comdat any - -$_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffEE6CreateERKfSA_ = comdat any - -$_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_ = comdat any - -$_ZTS6kernelILi4300878EE = comdat any - -$_ZTS6kernelILi4300456EE = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_ = comdat any - -$_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_ = comdat any - -$_ZZZ14check_functionILi4300121EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE120_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300478EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_ = comdat any - -$_ZN7__spirv14initGlobalSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v = comdat any - -$_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm = comdat any - -$_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_ = comdat any - -$_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZTS6kernelILi4300108EE = comdat any - -$_ZTS6kernelILi4300602EE = comdat any - -$_ZZZ14check_functionILi4300044EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE43_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300002EE = comdat any - -$_ZZZ30check_function_multi_ptr_localILi4300976EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_ = comdat any - -$_ZTS6kernelILi4300604EE = comdat any - -$_ZZZ14check_functionILi4300278EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE277_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNKSt5arrayIiLm11EEixEm = comdat any - -$_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZZZ14check_functionILi4300210EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE209_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv = comdat any - -$_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300151EE = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv = comdat any - -$_ZTS6kernelILi4301014EE = comdat any - -$_ZTS6kernelILi4300395EE = comdat any - -$_ZZZ14check_functionILi4300629EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE496_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4301044EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE779_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev = comdat any - -$_ZZZ14check_functionILi4300620EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE487_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNKSt5arrayIiLm2EEixEm = comdat any - -$_ZN4sycl3_V13vecIiLi3EEC2IiEERKNSt9enable_ifILb1ET_E4typeE = comdat any - -$_ZTS6kernelILi4300674EE = comdat any - -$_ZZZ14check_functionILi4301052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE787_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv = comdat any - -$_ZTS6kernelILi4300042EE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEvEET_RT0_ = comdat any - -$_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ14check_functionILi4300345EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE344_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300299EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE = comdat any - -$_ZZZ14check_functionILi4300528EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE439_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZZZ14check_functionILi4300664EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE531_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4300418EE = comdat any - -$_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev = comdat any - -$_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_ = comdat any - -$_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_ = comdat any - -$_ZTS6kernelILi4300216EE = comdat any - -$_ZTS6kernelILi4301030EE = comdat any - -$_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_ = comdat any - -$_ZZZ32check_function_multi_ptr_privateILi4300853EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE648_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_ = comdat any - -$_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi = comdat any - -$_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE = comdat any - -$_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE = comdat any - -$_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE = comdat any - -$_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_ = comdat any - -$_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE4sizeEv = comdat any - -$_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_ = comdat any - -$_ZZZ14check_functionILi4300301EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE300_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301075EE = comdat any - -$_ZTS6kernelILi4300879EE = comdat any - -$_ZTS6kernelILi4300910EE = comdat any - -$_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZTS6kernelILi4300207EE = comdat any - -$_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE = comdat any - -$_ZZZ14check_functionILi4301066EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE801_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_ = comdat any - -$_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EE13get_decoratedEv = comdat any - -$_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_ = comdat any - -$_ZNKSt5arrayIiLm13EEixEm = comdat any - -$_ZZZ14check_functionILi4300263EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE262_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv = comdat any - -$_ZTS6kernelILi4301053EE = comdat any - -$_ZTS6kernelILi4300234EE = comdat any - -@__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE417_clEv.inputData_1 = private unnamed_addr addrspace(1) constant %"class.sycl::_V1::vec.2018" { <3 x i32> }, align 16 -@__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE603_clEv.inputData_1 = private unnamed_addr addrspace(1) constant %"class.sycl::_V1::vec.2018" { <3 x i32> }, align 16 -@__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE669_clEv.inputData_1 = private unnamed_addr addrspace(1) constant %"class.sycl::_V1::vec.2018" { <3 x i32> }, align 16 -@__spirv_BuiltInGlobalSize = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 -@__spirv_BuiltInNumWorkgroups = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 -@__spirv_BuiltInGlobalOffset = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 -@__spirv_BuiltInGlobalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 -@__spirv_BuiltInLocalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 -@__spirv_BuiltInWorkgroupId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 -@__spirv_BuiltInGlobalLinearId = external dso_local local_unnamed_addr addrspace(1) constant i64, align 8 -@__spirv_BuiltInWorkgroupSize = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300468EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300468EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300258EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE257_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !72 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300860EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300860EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE651_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300488EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE399_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !79 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !79 - store float 0x3FD4A37AE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !79 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !79 - store float 0x3FCA308E60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !79 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !79 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !79 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !79 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !79 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !79 - store float 0x3FE5F08A80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !79 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !79 - store float 0x3FDFC305E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !79 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !79 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !79 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !79 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !79 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !79 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !79 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !79 - call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !79 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !79 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%union.anon) align 8 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr addrspace(1) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300983EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1824.213, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300983EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300276EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE275_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !91 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300152EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300152EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE151_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %X.ascast = addrspacecast ptr %X to ptr addrspace(4) - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %X.ascast, i64 noundef %Start) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %add = add i64 %Start, 1 - %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %X.ascast, i64 noundef %add) #13 - %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !102 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !104 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300653EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE520_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !106 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !106 - store float 0x3FE8BD34E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !106 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !106 - store float 0x3FD35F7D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !106 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !106 - store float 0x3FE0547FE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !106 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !106 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !106 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !106 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !106 - call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !106 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IDv8_DF16_vEES7_(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, <8 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { -entry: - store <8 x half> %openclVector, ptr addrspace(4) %this, align 16, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300291EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300291EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE290_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !112 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300980EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300980EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE727_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300091EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300091EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE90_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder10createItemILi1ELb0EEENSt9enable_ifIXntT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::item.1524") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index) #1 comdat align 2 !srcloc !113 { -entry: - tail call spir_func void @_ZN4sycl3_V14itemILi1ELb0EEC2ILb0EEERNSt9enable_ifIXntT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm3EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm3EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp5 = alloca %"class.sycl::_V1::marray.2250", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp5) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp5.ascast) #13 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp5) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300327EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300327EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE326_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300177EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE176_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !116 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300806EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300806EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE629_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300318EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE317_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH3961, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !120 - store half 0xH3AAD, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !120 - call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300849EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !123 - store float 0x3FE9AA1B00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !123 - store float 0x3FE62A97C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !123 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !123 - store float 0x3FDE308860000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !123 - store float 0x3FDEEFAF40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !123 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !123 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !123 - store i32 12216, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !123 - store i32 29167, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !123 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !123 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !123 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !123 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !123 - store i32 %2, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !123 - %3 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !123 - store i32 %3, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !123 - %4 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !123 - store i64 %4, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !123 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !123 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %5 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %5, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %6 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 - store i64 %6, ptr addrspace(4) %call8, align 4, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301073EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE808_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300250EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300250EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE249_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300649EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300649EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE516_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300123EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300123EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE122_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !131 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300348EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300348EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE347_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300094EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300094EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE93_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i16, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !134 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300816EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !135 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !135 - store half 0xH3B20, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !135 - store half 0xH304E, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !135 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !135 - store i64 %0, ptr %agg.tmp4.i, align 8, !tbaa !128, !noalias !135 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp4.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !135 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300787EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE610_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !138 - store float 0x3FE2558280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !138 - store float 0x3FD3C98880000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !138 - store float 0x3FE7B2C3E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !138 - store float 0x3FE252FBC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !138 - store float 0x3FE3B91E60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !138 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !138 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !138 - store i32 32017, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !138 - store i32 24266, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !138 - store i32 31734, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !138 - store i32 -10039, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !138 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !138 - store i32 -2805, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !138 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !138 - call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !138 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !138 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm4EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300509EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300509EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE420_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <2 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !142 { -entry: - %call = tail call spir_func noundef <2 x i32> @_ZNK4sycl3_V13vecIiLi2EEcvDv2_iEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - ret <2 x i32> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !144 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm3EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(12) %left, ptr addrspace(4) noundef align 4 dereferenceable(12) %right) #1 comdat !srcloc !145 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm3EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !146 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300619EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300619EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE486_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300763EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE586_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !147 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !147 - store float 0x3FD2CA3BC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !147 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !147 - store float 0x3FC69A6E20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !147 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !147 - store float 0x3FDE3A7F60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !147 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !147 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !147 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !147 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !147 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !147 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !147 - store float 0x3FCC1C7A60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !147 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !147 - store float 0x3FDC735040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !147 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !147 - store float 0x3FE5F46620000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !147 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !147 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !147 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !147 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !147 - call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !147 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !147 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !151 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300174EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE173_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !152 - store float 0x3FE3C9EA60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !152 - store float 0x3FC699FDC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !152 - store float 0x3FE85C3AC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !152 - store float 0x3FD77B21A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !152 - store float 0x3FEBA6DA60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !152 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !152 - call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !152 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { -entry: - br label %arrayinit.body - -arrayinit.body: ; preds = %arrayinit.body, %entry - %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] - %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx - store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 - %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 - %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 4 - br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body - -arrayinit.end2: ; preds = %arrayinit.body - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !157 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300271EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300271EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE270_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300355EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !158 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !158 - store half 0xH36C9, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !158 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !158 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !158 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !158 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(28) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300791EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300791EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE614_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !166 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300664EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300664EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE531_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301029EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE764_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !167 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !168 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !169 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !169 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !169 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !169 - %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fminDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !173 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300284EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE283_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !175 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !175 - store float 0x3FCA7B81A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !175 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !175 - store float 0x3FDEF2A080000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !175 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !175 - store float 0x3FE5FE56A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !175 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !175 - store float 0x3FE8898160000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !175 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !175 - store float 0x3FD09EB1C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !175 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !175 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !175 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !175 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !175 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !175 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !175 - call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !175 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300137EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE136_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !178 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp7 = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp7.ascast = addrspacecast ptr %ref.tmp7 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp7.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm4EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp7.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !183 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !184 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !184 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !184 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !184 - %call7.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_powDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300866EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE653_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %ref.tmp13.i = alloca i32, align 4 - %ref.tmp14.i = alloca i32, align 4 - %ref.tmp15.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp17.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2354.236, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp17.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !187 - store float 0x3FE4796E60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !187 - store float 0x3FE87E21C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !187 - store float 0x3FE3ABAF60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !187 - store float 0x3FBAFC9320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !187 - store float 0x3FE2B5B500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !187 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !187 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !187 - store float 0x3FD232D160000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !187 - store float 0x3FE35F93C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !187 - store float 0x3FD8B86A20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !187 - store float 0x3FD7205600000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !187 - store float 0x3FBF76B3A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !187 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !187 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !187 - store i32 -10935, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !187 - store i32 -4722, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !187 - store i32 10072, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !187 - store i32 8001, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !187 - store i32 -28580, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !187 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !187 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !187 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !187 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !187 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !187 - store i64 %0, ptr %agg.tmp17.i, align 8, !tbaa !128, !noalias !187 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp17.i) #14, !noalias !187 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !187 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp17.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300155EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300155EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE154_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !192 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi16EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 64 dereferenceable_or_null(64) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { -entry: - %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 - %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 - %splat.splatinsert = insertelement <16 x i32> poison, i32 %call, i64 0 - %splat.splat = shufflevector <16 x i32> %splat.splatinsert, <16 x i32> poison, <16 x i32> zeroinitializer - store <16 x i32> %splat.splat, ptr addrspace(4) %this, align 64, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !195 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300640EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE507_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !196 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300191EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300191EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE190_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300627EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE494_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !200 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300393EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE364_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1778.210, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !203 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !203 - store float 0x3FC6793440000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !203 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !203 - store float 0x3FEB4165A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !203 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !203 - store float 0x3FCADD2360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !203 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !203 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !203 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !203 - store float 0x3FE19C8240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !203 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !203 - store float 0x3FE3BD6800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !203 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !203 - store float 0x3FD92659A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !203 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !203 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !203 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !203 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !203 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !203 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !203 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !203 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !203 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <3 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEcvDv3_DF16_Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !207 { -entry: - %loadVec4 = load <4 x half>, ptr addrspace(4) %this, align 8 - %extractVec = shufflevector <4 x half> %loadVec4, <4 x half> poison, <3 x i32> - ret <3 x half> %extractVec -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !208 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !210 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_log1pDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300658EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE525_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp3.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !213 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !213 - store <2 x half> , ptr %agg.tmp3.i, align 4, !tbaa.struct !90, !noalias !213 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <4 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEcvDv4_DF16_Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !207 { -entry: - %0 = load <4 x half>, ptr addrspace(4) %this, align 8, !tbaa !69 - ret <4 x half> %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300339EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE338_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH3871, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !216 - store half 0xH381D, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !216 - call spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300119EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE118_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !219 - store float 0x3FE9315EE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !219 - store float 0x3FC9458DC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !219 - store float 0x3FE3B79020000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !219 - store float 0x3FC8E88100000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !219 - store float 0x3FE6130F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !219 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !219 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !219 - store float 0x3FD8C6A2A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !219 - store float 0x3FE47A1B80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !219 - store float 0x3FE5358D60000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !219 - store float 0x3FE41C9040000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !219 - store float 0x3FD1BE67A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !219 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !219 - call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !219 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !219 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300406EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1862.215, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300406EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !224 - %call.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !224 - store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !224 - %call2.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !224 - %call3.i = call spir_func noundef <4 x half> @_Z16__spirv_ocl_fmaxDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 - %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 - %conv = fptrunc float %call to half - %splat.splatinsert = insertelement <3 x half> poison, half %conv, i64 0 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %extractVec = shufflevector <3 x half> %splat.splatinsert, <3 x half> poison, <4 x i32> - store <4 x half> %extractVec, ptr addrspace(4) %this, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !229 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !230 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !231 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !231 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !231 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !231 - %call7.i = tail call spir_func noundef <3 x half> @_Z21__spirv_ocl_remainderDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !235 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !236 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !236 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_roundDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !239 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !240 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !240 - %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_logDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !243 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !244 - %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_erfDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300353EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1520.196, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 - store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300353EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE7_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !249 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !249 - store float 0x3FE44E0240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !249 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !249 - store float 0x3FB9D58440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !249 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !249 - store float 0x3FDFABD2E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !249 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !249 - store float 0x3FE9691F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !249 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !249 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !249 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !249 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !249 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !249 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !249 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !249 - call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !249 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300808EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300808EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE631_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !253 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !256 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300183EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE182_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !258 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !258 - store float 0x3FE04330C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !258 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !258 - store float 0x3FE0DA8D20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !258 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !258 - store float 0x3FC447B740000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !258 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !258 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !258 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !258 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !258 - call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !258 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300455EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2223, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300455EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300192EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE191_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !261 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300785EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE608_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !264 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !264 - store float 0x3FC0111740000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !264 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !264 - store float 0x3FDAA0B6E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !264 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !264 - store float 0x3FBF3637E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !264 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !264 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !264 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !264 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !264 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !264 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !264 - store i32 -3632, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !264 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !264 - store i32 -6387, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !264 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !264 - store i32 -21833, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !264 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !264 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !264 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !264 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !264 - call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !264 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !264 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300213EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE212_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !267 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3, i32 noundef %a1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !273 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !274 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !274 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_exp10DF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300740EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1824.213, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300740EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv24InitSizesSTWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !277 { -entry: - %call = tail call spir_func noundef i64 @_ZN7__spirvL16getWorkgroupSizeILi0EEEmv() #13 - tail call spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !280 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !281 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !281 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_ceilDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300005EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE4_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !284 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300261EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE260_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !287 - store float 0x3FD6C153C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !287 - store float 0x3FE5DDD6C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !287 - store float 0x3FBE933160000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !287 - store float 0x3FDCA230C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !287 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !287 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !287 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !287 - call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !287 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300521EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE432_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !290 - store float 0x3FEB41D4A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !290 - store float 0x3FEC8E0440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !290 - store float 0x3FDFD6CFC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !290 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !290 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, i32 noundef 8025) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !290 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300775EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE598_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !293 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !293 - store float 0x3FE420AA00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !293 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !293 - store float 0x3FC67C3C60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !293 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !293 - store float 0x3FE8DD40A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !293 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !293 - store float 0x3FEA29DD40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !293 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !293 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !293 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !293 - store float 0x3FE5519680000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !293 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !293 - store float 0x3FE975C080000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !293 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !293 - store float 0x3FE6E67B20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !293 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !293 - store float 0x3FD07815E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !293 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !293 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !293 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !293 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !293 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !293 - call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !293 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300343EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300343EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE342_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300036EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE35_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !296 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !297 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !297 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !297 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !297 - %call7.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_maxmagDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayIiLm4EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !303 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EEC2EPU3AS0i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !306 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !230 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !308 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !308 - %call3.i = tail call spir_func noundef <16 x half> @_Z21__spirv_ocl_remainderDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !312 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !319 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !319 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !319 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !319 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !319 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - %0 = load i32, ptr %res_t, align 2, !tbaa !69 - store i32 %0, ptr addrspace(4) %this, align 4, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load i64, ptr %resArg_t, align 4, !tbaa !69 - store i64 %1, ptr addrspace(4) %resArg, align 4, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm4EE4sizeEv() #1 comdat align 2 !srcloc !325 { -entry: - ret i64 4 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300014EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE13_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE67_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 61324517587106, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !326 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !330 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !332 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !333 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_logbDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !337 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !339 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300407EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1862.215, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300407EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #4 comdat align 2 !srcloc !343 { -entry: - tail call spir_func void @_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef 0) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300332EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300332EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE331_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !344 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm12EE6_S_refERA12_Kim(ptr addrspace(4) noundef align 4 dereferenceable(48) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !347 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300255EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE254_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 59885666318570, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !348 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !352 - ret ptr addrspace(1) %0 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm4EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301009EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE744_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH35AE, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !355 - call spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300264EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE263_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH3601, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !358 - store half 0xH3B2B, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !358 - call spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !362 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !363 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !363 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_atanhDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300106EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300106EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE105_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <2 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEcvDv2_DF16_Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this) #1 comdat align 2 !srcloc !207 { -entry: - %0 = load <2 x half>, ptr addrspace(4) %this, align 4, !tbaa !69 - ret <2 x half> %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300278EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300278EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE277_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !367 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !368 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !368 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_tanpiDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !372 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !375 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !376 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !377 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !377 - %call3.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_hypotDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300297EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE296_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH36BF, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !380 - store half 0xH3A04, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !380 - call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300019EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE18_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300915EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300915EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE694_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !383 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300102EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE101_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !385 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !388 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !389 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !389 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !389 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !389 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_fminDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300466EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2317, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300466EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm10EE6_S_refERA10_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(20) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %value) #1 comdat align 2 !srcloc !393 { -entry: - %0 = load i16, ptr %value, align 2, !tbaa !99 - store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [2 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !397 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300349EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300349EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE348_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300992EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE731_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1892.216, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !398 - store float 0x3FECC815A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !398 - store float 0x3FD98E1600000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !398 - store float 0x3FE2BF0FC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !398 - store float 0x3FE2CAD540000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !398 - store float 0x3FE62A4E20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !398 - store float 0x3FC2A942C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !398 - store float 0x3FE6BD1CA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !398 - store float 0x3FE7C1BD00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !398 - store float 0x3FD3241F20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !398 - store float 0x3FEAFC3D00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !398 - store float 0x3FCC222E40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !398 - store float 0x3FD64000E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !398 - store float 0x3FD58E7DE0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !398 - store float 0x3FECAD7640000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !398 - store float 0x3FE059EE00000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !398 - store float 0x3FBECEFDC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !398 - store float 0x3FD7FE39A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !398 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !398 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !398 - store float 0x3FE446D560000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !398 - store float 0x3FC2D29080000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !398 - store float 0x3FD04155E0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !398 - store float 0x3FD7CB70C0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !398 - store float 0x3FD6F4FF20000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !398 - store float 0x3FEA8E8520000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !398 - store float 0x3FE13A8E80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !398 - store float 0x3FD449E000000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !398 - store float 0x3FE1F9C840000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !398 - store float 0x3FCBB61700000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !398 - store float 0x3FE089EA00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !398 - store float 0x3FCDF84880000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !398 - store float 0x3FE1FD8440000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !398 - store float 0x3FBD8897E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !398 - store float 0x3FE2D09EE0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !398 - store float 0x3FEAE98EC0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !398 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !398 - store float 0x3FE76AE780000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !398 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !398 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !398 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !398 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !398 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !398 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !398 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !398 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !398 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300455EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !403 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !403 - store float 0x3FDCCFAEE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !403 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !403 - store float 0x3FEC890F00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !403 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !403 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !403 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !403 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !403 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !403 - store i32 -11984, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !403 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !403 - store i32 -4321, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !403 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !403 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !403 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !403 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !403 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !403 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !403 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !403 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !403 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !403 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !403 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !403 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !403 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 4, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300414EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !406 - store float 0x3FDB1933E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !406 - store float 0x3FE630D040000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !406 - store float 0x3FE09BC480000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !406 - store float 0x3FD20A13A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !406 - store float 0x3FE70EE7C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !406 - store float 0x3FCD7F2F40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !406 - store float 0x3FE3E2BEE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !406 - store float 0x3FEB8396E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !406 - store float 0x3FE0E75880000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !406 - store float 0x3FCBB0C540000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !406 - store float 0x3FD8BF2A60000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !406 - store float 0x3FE0468960000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !406 - store float 0x3FDC85C940000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !406 - store float 0x3FCC112860000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !406 - store float 0x3FE2836F60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !406 - store float 0x3FE9BA7340000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !406 - store float 0x3FEC133940000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !406 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !406 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !406 - store float 0x3FCF5FA2A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !406 - store float 0x3FE40D7D80000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !406 - store float 0x3FBE0EA7E0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !406 - store float 0x3FCC243A40000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !406 - store float 0x3FE057AF00000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !406 - store float 0x3FE2B970A0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !406 - store float 0x3FD3175FE0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !406 - store float 0x3FE6024760000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !406 - store float 0x3FEA095900000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !406 - store float 0x3FEC08A9A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !406 - store float 0x3FC7712DE0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !406 - store float 0x3FE4B18780000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !406 - store float 0x3FE096AB40000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !406 - store float 0x3FE5122280000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !406 - store float 0x3FEB186A20000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !406 - store float 0x3FD5111440000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !406 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !406 - store float 0x3FE9C2F7C0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !406 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !406 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !406 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !406 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !406 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !406 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !406 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp13, ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp1, i64 32, i1 false) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !409 - %call2.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !409 - %call3.i = call spir_func noundef <16 x half> @_Z16__spirv_ocl_fmaxDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #13 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIS4_Lm5EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [5 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300983EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !414 - store float 0x3FC75AC880000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !414 - store float 0x3FE81D6D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !414 - store float 0x3FEA225720000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !414 - store float 0x3FDD7C4CA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !414 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !414 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !414 - store float 0x3FD8E7A200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !414 - store float 0x3FE822C060000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !414 - store float 0x3FDB9FB380000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !414 - store float 0x3FDA472520000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !414 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !414 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !414 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !414 - %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !414 - store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !414 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !414 - store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !414 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !414 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300137EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300137EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE136_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !418 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300136EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE135_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !421 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !424 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !425 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !425 - %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fmodDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300594EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300594EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300048EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300048EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE47_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300782EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300782EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE605_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 - %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 - %conv = fptrunc float %call to half - %splat.splatinsert = insertelement <2 x half> poison, half %conv, i64 0 - %splat.splat = shufflevector <2 x half> %splat.splatinsert, <2 x half> poison, <2 x i32> zeroinitializer - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - store <2 x half> %splat.splat, ptr addrspace(4) %this, align 4, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE38_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !428 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !428 - store float 0x3FC8F9CB60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !428 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !428 - store float 0x3FE3D239E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !428 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !428 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !428 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !428 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !428 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !428 - call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !428 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv15initWorkgroupIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !431 { -entry: - tail call spir_func void @_ZN7__spirv22InitSizesSTWorkgroupIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !433 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300386EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300386EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE361_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !434 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !437 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !437 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !437 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !437 - %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS0i(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !437 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300510EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE421_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !440 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !440 - store float 0x3FE93DCEC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !440 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !440 - store float 0x3FE3DBBE80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !440 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !440 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !440 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !440 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !440 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !440 - store i32 25230, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !440 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !440 - store i32 25029, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !440 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !440 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !440 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !440 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !440 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !440 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !440 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !69, !noalias !440 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !440 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !440 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300653EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300653EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE520_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %agg.result, i64 noundef 0) #13 - %1 = load i64, ptr %PartialRes, align 8 - store i64 %1, ptr addrspace(4) %call, align 4 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300199EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300199EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE198_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300320EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300320EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE319_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300281EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300281EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE280_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp3 = alloca %"class.sycl::_V1::marray.2202", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp3) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp3.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp3) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300923EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE702_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 54594267068628, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !445 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3, i32 noundef %a1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !448 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(4) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !449 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301021EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE756_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !451 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm4EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { -entry: - %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm17EE6_S_refERA17_Kim(ptr addrspace(4) noundef align 4 dereferenceable(68) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [17 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !457 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE4sizeEv() #1 comdat align 2 !srcloc !458 { -entry: - ret i64 4 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm2EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300901EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE680_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 54160453087485, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !459 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300612EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE479_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !462 - store float 0x3FE584BB60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !462 - store float 0x3FD1154360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !462 - store float 0x3FC3AEC440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !462 - store float 0x3FCC955100000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !462 - store float 0x3FE72A9460000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !462 - store float 0x3FD098DBC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !462 - store float 0x3FE72CC880000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !462 - store float 0x3FEBAC7FE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !462 - store float 0x3FE549CD60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !462 - store float 0x3FE7DA8160000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !462 - store float 0x3FE74AA180000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !462 - store float 0x3FE5F2B680000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !462 - store float 0x3FE4F99440000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !462 - store float 0x3FBB8014C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !462 - store float 0x3FDE0CB220000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !462 - store float 0x3FDAE63280000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !462 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !462 - store float 0x3FE73A3E60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !462 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !462 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !462 - call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !462 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300877EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300877EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE656_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm4EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !468 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300754EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300754EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !470 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300926EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300926EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE705_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !472 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm2EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300401EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !474 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !474 - store float 0x3FE2CA6B00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !474 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !474 - store float 0x3FEA6DBFA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !474 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !474 - store float 0x3FDB9A2560000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !474 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !474 - store float 0x3FBF0F67E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !474 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !474 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !474 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !474 - store float 0x3FE8FECF00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !474 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !474 - store float 0x3FEB919380000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !474 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !474 - store float 0x3FE7DD1D20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !474 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !474 - store float 0x3FCCD7E0E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !474 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !474 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !474 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !474 - %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !474 - store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !474 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !474 - store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !474 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !474 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300090EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE89_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 61891432102328, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !477 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(22) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 7) #13 - %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 - %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 8) #13 - %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 - store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 - %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 9) #13 - %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 - store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 - %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %A2, i64 noundef 10) #13 - %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 - store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIN4sycl3_V16detail9half_impl4halfEEPU3AS3T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300027EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300027EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE26_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !481 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !482 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !482 - %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_logDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(34) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !486 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !488 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !489 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !489 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_expm1Dv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300758EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300758EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE581_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(20) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !492 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !493 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !494 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !494 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !494 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !494 - %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_minmagDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !498 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300128EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE127_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !499 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !499 - store float 0x3FD1F5AF80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !499 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !499 - store float 0x3FE3F07280000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !499 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !499 - store float 0x3FC39D3D60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !499 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !499 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !499 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !499 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !499 - call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !499 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm3EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300238EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300238EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE237_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300208EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300208EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE207_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm8EE6_S_refERA8_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(16) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !507 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !508 - ret ptr addrspace(1) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(4) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !511 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301049EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301049EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE784_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm17EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300971EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 - store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !512 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !512 - store float 0x3FD55EDE20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !512 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !512 - store float 0x3FCCFBA480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !512 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !512 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !512 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !512 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !512 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !512 - store float 0x3FD8B48420000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !512 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !512 - store float 0x3FEC8F1900000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !512 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !512 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !512 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !512 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !512 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !512 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !512 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !512 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !512 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !512 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !512 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !512 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !512 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300589EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300589EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300261EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300261EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE260_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.1972", align 8 - %a1.addr = alloca i32, align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.1972", align 8 - %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V13vecIiLi2EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !517 - %call.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !517 - store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !517 - %call2.i = call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp1.i) #13, !noalias !517 - %call3.i = call spir_func noundef <2 x half> @_Z17__spirv_ocl_ldexpDv2_DF16_Dv2_i(<2 x half> noundef %call.i, <2 x i32> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !521 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !523 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !524 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !525 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !526 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !529 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !531 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !532 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !533 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIiEPU3AS3T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !534 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPvi(ptr addrspace(4) noundef %Ptr, i32 noundef 4) #15 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300069EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE68_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !535 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300628EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300628EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE495_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !536 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !538 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !539 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !540 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300252EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE251_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !541 - store float 0x3FDE6410A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !541 - store float 0x3FCBCF6EA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !541 - store float 0x3FE681A020000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !541 - store float 0x3FE6712AE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !541 - store float 0x3FEB9E5200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !541 - store float 0x3FDA935F00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !541 - store float 0x3FDE268E20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !541 - store float 0x3FE10A0C60000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !541 - store float 0x3FEA09D1E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !541 - store float 0x3FE53A5A80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !541 - store float 0x3FBDF52FC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !541 - store float 0x3FD103D1E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !541 - store float 0x3FE90F4900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !541 - store float 0x3FE2302940000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !541 - store float 0x3FE9927240000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !541 - store float 0x3FDB76B0E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !541 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !541 - store float 0x3FD12D0B80000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !541 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !541 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !541 - call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !541 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE79_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !544 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !544 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300634EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300634EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE501_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !547 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !548 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !549 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !549 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_rintDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !552 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300162EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE161_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !553 - store float 0x3FE822BC20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !553 - store float 0x3FC422E280000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !553 - store float 0x3FE3CC8DC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !553 - store float 0x3FDDC67580000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !553 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !553 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !553 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !553 - call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !553 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300916EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300916EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE695_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300262EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300262EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE261_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !557 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !558 - %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_tanDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE44_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !561 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300727EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300727EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE570_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(8) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(8) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300847EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE646_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %result = alloca %struct.privatePtrCheck.2212.230, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !565 - store float 0x3FE9237940000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !565 - store float 0x3FEC184F40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !565 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !565 - store float 0x3FDEF0B780000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !565 - store float 0x3FE145AC60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !565 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !565 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !565 - store i32 7549, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !565 - store i32 -19745, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !565 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !565 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !565 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !565 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !565 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !565 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !565 - store i32 %1, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !565 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !565 - store i64 %2, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !565 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp8.i) #14, !noalias !565 - %3 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !565 - store i32 %3, ptr %agg.tmp9.i, align 4, !tbaa !69, !noalias !565 - %4 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !565 - store i64 %4, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !565 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp10.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %5 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %5, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %6 = load i64, ptr %resArg, align 4, !tbaa !69 - store i64 %6, ptr addrspace(4) %call3, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300202EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300202EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE201_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300164EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300164EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE163_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300226EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300226EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE225_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300658EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300658EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE525_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !568 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this) #4 comdat align 2 !srcloc !569 { -entry: - tail call void @llvm.memset.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %this, i8 0, i64 20, i1 false) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !571 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !573 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm5EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300773EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300773EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE596_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300103EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300103EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE102_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300282EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300282EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE281_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !577 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !579 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !580 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !579 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !582 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !584 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !584 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !584 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !584 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !584 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !131 - ret ptr addrspace(1) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EE4sizeEv() #1 comdat align 2 !srcloc !587 { -entry: - ret i64 8 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !486 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !588 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300743EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !589 - store float 0x3FCEA74120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !589 - store float 0x3FC3D6E140000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !589 - store float 0x3FE1389FA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !589 - store float 0x3FE17E4940000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !589 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !589 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !589 - store float 0x3FE2058000000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !589 - store float 0x3FD23106E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !589 - store float 0x3FDA912880000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !589 - store float 0x3FC9308DE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !589 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !589 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !589 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !589 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !589 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !589 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !589 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !589 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !589 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !592 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300676EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE543_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !593 - store float 0x3FE192ECE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !593 - store float 0x3FE34B45E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !593 - store float 0x3FEC745700000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !593 - store float 0x3FE6338C40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !593 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !593 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !593 - store float 0x3FD5BDC520000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !593 - store float 0x3FE7B0AC40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !593 - store float 0x3FE23E6720000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !593 - store float 0x3FD8EFF6A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !593 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !593 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !593 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !593 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !593 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !593 - call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !593 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !596 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !597 - %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_cosDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300743EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300743EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300317EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE316_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp18.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp18.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !600 - store float 0x3FE9C257A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !600 - store float 0x3FD23FF720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !600 - store float 0x3FE3D18700000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !600 - store float 0x3FE5FD87C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !600 - store float 0x3FE47CB800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !600 - store float 0x3FD0105320000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !600 - store float 0x3FD84F4EE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !600 - store float 0x3FD4559DE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !600 - store float 0x3FE0FD45C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !600 - store float 0x3FEC01DE60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !600 - store float 0x3FD18E1980000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !600 - store float 0x3FE1573780000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !600 - store float 0x3FC3813B00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !600 - store float 0x3FD9A108C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !600 - store float 0x3FEBA077C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !600 - store float 0x3FEA74FF40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !600 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !600 - store float 0x3FC68C9260000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !600 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !600 - store half 0xH3A42, ptr %agg.tmp18.i, align 2, !tbaa.struct !119, !noalias !600 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp18.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !600 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp18.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300324EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE323_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !603 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !603 - store float 0x3FE8998C00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !603 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !603 - store float 0x3FD53FBC20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !603 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !603 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !603 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !603 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !603 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !603 - store float 0x3FD73F4060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !603 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !603 - store float 0x3FE5A60B00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !603 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !603 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !603 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !603 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !603 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !603 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !603 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !603 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !603 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !603 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300600EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !607 - store float 0x3FE63F9840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !607 - store float 0x3FD31F7F60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !607 - store float 0x3FDBB45AC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !607 - store float 0x3FE2C7BE00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !607 - store float 0x3FDD513C40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !607 - store float 0x3FEA7C8260000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !607 - store float 0x3FE25A6620000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !607 - store float 0x3FEC850DE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !607 - store float 0x3FE4CC7DC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !607 - store float 0x3FE5CF2960000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !607 - store float 0x3FE2AE75C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !607 - store float 0x3FC9DA77A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !607 - store float 0x3FD629C2A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !607 - store float 0x3FDDFEEC60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !607 - store float 0x3FE0748A60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !607 - store float 0x3FD0E34F40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !607 - store float 0x3FC58476E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !607 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !607 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !607 - store i32 -14425, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !607 - store i32 177, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !607 - store i32 -17485, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !607 - store i32 -11218, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !607 - store i32 14342, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !607 - store i32 29808, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !607 - store i32 -27444, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !607 - store i32 -8679, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !607 - store i32 22197, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !607 - store i32 -6422, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !607 - store i32 2390, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !607 - store i32 -31551, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !607 - store i32 13175, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !607 - store i32 -32640, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !607 - store i32 9011, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !607 - store i32 10328, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !607 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !607 - store i32 -19815, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !607 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !607 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !607 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !607 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !607 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !607 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !607 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %left, ptr addrspace(4) noundef align 4 dereferenceable(4) %right) #1 comdat !srcloc !610 { -entry: - %0 = load i32, ptr addrspace(4) %right, align 4, !tbaa !126 - store i32 %0, ptr addrspace(4) %left, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300120EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE119_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !611 - store float 0x3FE87E7BE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !611 - store float 0x3FD2B1E960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !611 - store float 0x3FE076F820000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !611 - store float 0x3FE4788F00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !611 - store float 0x3FD25C48A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !611 - store float 0x3FE34A36E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !611 - store float 0x3FD515F3C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !611 - store float 0x3FCE597C80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !611 - store float 0x3FE7EDF840000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !611 - store float 0x3FE15C2540000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !611 - store float 0x3FD7300CE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !611 - store float 0x3FE22FE160000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !611 - store float 0x3FBEC755E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !611 - store float 0x3FCA180740000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !611 - store float 0x3FDAA75B80000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !611 - store float 0x3FEC2DEB20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !611 - store float 0x3FE044A560000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !611 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !611 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !611 - store float 0x3FC4A10DC0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !611 - store float 0x3FE6C8F860000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !611 - store float 0x3FE7347880000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !611 - store float 0x3FE708F180000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !611 - store float 0x3FE1C77660000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !611 - store float 0x3FE5028800000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !611 - store float 0x3FD1543C60000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !611 - store float 0x3FE5F41BE0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !611 - store float 0x3FE81813E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !611 - store float 0x3FE6A7B780000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !611 - store float 0x3FD87F4D60000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !611 - store float 0x3FE2548FC0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !611 - store float 0x3FE34D5840000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !611 - store float 0x3FEA42BF60000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !611 - store float 0x3FC7DC51C0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !611 - store float 0x3FE88C77E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !611 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !611 - store float 0x3FE0AD3F80000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !611 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !611 - call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !611 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !611 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300576EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300576EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !367 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !614 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_tanpiDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300168EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300168EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE167_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !617 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !618 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !618 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !618 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !618 - %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_powrDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !621 - ret ptr addrspace(1) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !624 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !626 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !628 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !629 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_floorDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iPiEET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIiEPU3AS1T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr addrspace(1) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300105EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE104_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !632 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !632 - store float 0x3FEA818C40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !632 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !632 - store float 0x3FDD23A060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !632 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !632 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !632 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !632 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !632 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !632 - call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !632 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2064") align 16 %a1) #2 comdat !srcloc !635 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2064", align 16 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %agg.tmp1.sroa.0.0.copyload = load <4 x i32>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !636 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !636 - %call2.i = tail call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp13) #13, !noalias !636 - %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_pownDv4_DF16_Dv4_i(<4 x half> noundef %call.i, <4 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(44) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 7) #13 - %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 - %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 8) #13 - %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 - store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 - %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 9) #13 - %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 - store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 - %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %A2, i64 noundef 10) #13 - %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 - store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300347EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE346_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !639 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !639 - store float 0x3FE4B5F1A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !639 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !639 - store float 0x3FDD297720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !639 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !639 - store float 0x3FCDC4EF80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !639 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !639 - store float 0x3FD399DDA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !639 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !639 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !639 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !639 - store float 0x3FE86F33E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !639 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !639 - store float 0x3FCDFBC820000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !639 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !639 - store float 0x3FE53D15C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !639 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !639 - store float 0x3FE1D0EDE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !639 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !639 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !639 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !639 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !639 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !639 - call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !639 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(56) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 7) #13 - %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 - %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 8) #13 - %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 - store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 - %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 9) #13 - %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 - store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 - %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 10) #13 - %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 - store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 - %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 11) #13 - %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 - store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 - %arrayinit.element24 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 13 - %call25 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 12) #13 - %15 = load i32, ptr addrspace(4) %call25, align 4, !tbaa !126 - store i32 %15, ptr addrspace(4) %arrayinit.element24, align 4, !tbaa !126 - %arrayinit.element26 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 14 - %call27 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %A2, i64 noundef 13) #13 - %16 = load i32, ptr addrspace(4) %call27, align 4, !tbaa !126 - store i32 %16, ptr addrspace(4) %arrayinit.element26, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300254EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE253_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !642 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_Z23__spirv_NumWorkgroups_xv() #5 comdat !srcloc !645 { -entry: - %0 = load i64, ptr addrspace(1) @__spirv_BuiltInNumWorkgroups, align 32 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp3 = alloca %"class.sycl::_V1::marray.2202", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp3) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp3.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp3) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !646 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300595EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !648 - store float 0x3FEC5D7180000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !648 - store float 0x3FE0C03C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !648 - store float 0x3FD5502020000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !648 - store float 0x3FC6782180000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !648 - store float 0x3FBDF5CC40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !648 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !648 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !648 - store i32 3473, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !648 - store i32 23152, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !648 - store i32 -27587, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !648 - store i32 142, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !648 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !648 - store i32 29887, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !648 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !648 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !648 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !648 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !648 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !648 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !648 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300529EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300529EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE440_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp3 = alloca %"class.sycl::_V1::marray.7", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp3.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !652 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !654 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !654 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !654 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !655 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !656 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_asinhDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !659 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !660 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_sqrtDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !663 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !664 - %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_tgammaDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300695EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300695EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300499EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300499EN4sycl3_V16marrayIiLm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE410_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300863EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp15.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !667 - store float 0x3FDBD455A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !667 - store float 0x3FD07AB180000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !667 - store float 0x3FD53CBB40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !667 - store float 0x3FE6E43EE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !667 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !667 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !667 - store float 0x3FC4E26400000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !667 - store float 0x3FDA4B6920000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !667 - store float 0x3FBD679980000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !667 - store float 0x3FEB8880E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !667 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !667 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !667 - store i32 -26080, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !667 - store i32 -19235, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !667 - store i32 -30604, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !667 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !667 - store i32 -20143, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !667 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !667 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !667 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !667 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !667 - store i64 %0, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !667 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !667 - store i64 %1, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !667 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !667 - store i64 %2, ptr %agg.tmp15.i, align 8, !tbaa !128, !noalias !667 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp15.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !667 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300867EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %ref.tmp13.i = alloca i32, align 4 - %ref.tmp14.i = alloca i32, align 4 - %ref.tmp15.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp18.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp18.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !670 - store float 0x3FD30ACDE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !670 - store float 0x3FD301F340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !670 - store float 0x3FEC8FCDC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !670 - store float 0x3FEA1D3A00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !670 - store float 0x3FE2EA3860000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !670 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !670 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !670 - store float 0x3FDFEC0EA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !670 - store float 0x3FE18A15A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !670 - store float 0x3FD49E3B80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !670 - store float 0x3FE33578A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !670 - store float 0x3FE3D086A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !670 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !670 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !670 - store i32 298, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !670 - store i32 -694, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !670 - store i32 -28223, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !670 - store i32 27348, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !670 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !670 - store i32 10653, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !670 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !670 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !670 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !670 - %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !670 - store i64 %1, ptr %agg.tmp18.i, align 8, !tbaa !128, !noalias !670 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp18.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !670 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp18.i) - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300981EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE728_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.1816.212, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !673 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !673 - store float 0x3FD02A3EA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !673 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !673 - store float 0x3FE2007360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !673 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !673 - store float 0x3FD4B500C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !673 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !673 - store float 0x3FBBB04F00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !673 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !673 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !673 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !673 - store float 0x3FE770C4E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !673 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !673 - store float 0x3FE7E1DCA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !673 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !673 - store float 0x3FE36A8A80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !673 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !673 - store float 0x3FE94C33A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !673 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !673 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !673 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !673 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !673 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !673 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !673 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !673 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !673 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !673 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !673 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !673 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !673 - store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !673 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !673 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.2215", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm14EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(56) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(56) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm17EE6_S_refERA17_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(34) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [17 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !677 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300207EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE206_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !679 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !679 - store float 0x3FEAC5D9A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !679 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !679 - store float 0x3FCE00DB00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !679 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !679 - store float 0x3FE86238A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !679 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !679 - store float 0x3FE8F2EAC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !679 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !679 - store float 0x3FE9B19420000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !679 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !679 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !679 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !679 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !679 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !679 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !679 - call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !679 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300402EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300402EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE764_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !682 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !682 - store float 0x3FE432BCE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !682 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !682 - store float 0x3FCE54B8A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !682 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !682 - store float 0x3FCB447840000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !682 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !682 - store float 0x3FE93F8C80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !682 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !682 - store float 0x3FD1DA0EA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !682 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !682 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !682 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !682 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !682 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !682 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !682 - call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !682 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.2018") align 16 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_iNS0_3vecIiLi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t.ascast) #13 - ret <3 x i32> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !685 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !686 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !686 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !686 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !686 - %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fdimDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2156") align 64 %a1) #2 comdat !srcloc !635 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2156", align 64 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x i32>, ptr %a1, align 64, !tbaa.struct !689 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp13) - store <16 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 64 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !690 - %call2.i = tail call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp13) #13, !noalias !690 - %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_pownDv16_DF16_Dv16_i(<16 x half> noundef %call.i, <16 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !694 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !696 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm2EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm3EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { -entry: - %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300259EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300259EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE258_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !699 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm9EE6_S_refERA9_Kim(ptr addrspace(4) noundef align 4 dereferenceable(36) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [9 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300041EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE40_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300306EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE305_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !702 - store float 0x3FDFD52E80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !702 - store float 0x3FD12AB4A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !702 - store float 0x3FDA5A1060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !702 - store float 0x3FE04CFA20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !702 - store float 0x3FD885AD00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !702 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !702 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !702 - store float 0x3FDB394480000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !702 - store float 0x3FE5E90740000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !702 - store float 0x3FC13C9920000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !702 - store float 0x3FEBB054E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !702 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !702 - store float 0x3FE2A908A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !702 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !702 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !702 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !702 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300892EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300892EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE671_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300293EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE292_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !705 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !705 - store float 0x3FE03B7F20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !705 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !705 - store float 0x3FE0EC0AC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !705 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !705 - store float 0x3FC473D2C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !705 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !705 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !705 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !705 - store float 0x3FC0FCEA00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !705 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !705 - store float 0x3FBCA2D8E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !705 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !705 - store float 0x3FE70DCB80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !705 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !705 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_2.i) #13, !noalias !705 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !705 - store float 0x3FCAFB5F20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !705 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !705 - store float 0x3FC961AC20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !705 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !705 - store float 0x3FDA1D7EC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !705 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !705 - call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_2.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_2.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !705 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !705 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300125EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300125EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE124_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300288EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE287_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i64 60637253810097, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !708 - store i64 53365924378481, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !708 - store i64 60993820375416, ptr %agg.tmp3.i, align 8, !tbaa !69, !noalias !708 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300660EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE527_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !711 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !711 - store <4 x half> , ptr %agg.tmp3.i, align 8, !tbaa.struct !199, !noalias !711 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !714 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm10EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(40) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(40) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300935EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1520.196, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 - store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300935EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300277EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300277EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE276_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !716 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !717 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !717 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_atanDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2018", align 16 - %a1.addr = alloca i32, align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.2018", align 16 - %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V13vecIiLi3EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp13, ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp1, i64 16, i1 false) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !720 - %call.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !720 - %call2.i = call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp13) #13, !noalias !720 - %call7.i = call spir_func noundef <3 x half> @_Z17__spirv_ocl_ldexpDv3_DF16_Dv3_i(<3 x half> noundef %call.i, <3 x i32> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16detail9half_impl4halfEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IDv3_DF16_vEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, <3 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { -entry: - %extractVec = shufflevector <3 x half> %openclVector, <3 x half> poison, <4 x i32> - store <4 x half> %extractVec, ptr addrspace(4) %this, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300130EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300130EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE129_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300340EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE339_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !724 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !724 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !729 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301028EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE763_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(12) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !730 - ret ptr %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !573 - ret ptr addrspace(1) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300388EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 - store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !732 - store float 0x3FEA79D020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !732 - store float 0x3FDE4E7D40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !732 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !732 - store float 0x3FD5B285A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !732 - store float 0x3FDC57C280000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !732 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !732 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !732 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !732 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !732 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !732 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !732 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !732 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !732 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300328EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300328EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE327_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300087EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300087EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE86_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300217EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE216_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !735 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !735 - store float 0x3FD2012680000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !735 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !735 - store float 0x3FE8AAF680000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !735 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !735 - store float 0x3FD6593BC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !735 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !735 - store float 0x3FD1E67D20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !735 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !735 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !735 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !735 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !735 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !735 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !735 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !735 - call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !735 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(6) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !738 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !740 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300395EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !742 - store float 0x3FCB2BC560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !742 - store float 0x3FE8B2FEE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !742 - store float 0x3FC6958B40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !742 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !742 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !742 - store float 0x3FEA576D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !742 - store float 0x3FEB467C60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !742 - store float 0x3FCA2348E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !742 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !742 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !742 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !742 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !742 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !742 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !742 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !742 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !742 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300578EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300578EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE461_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !746 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm13EE6_S_refERA13_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(26) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300606EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE473_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !747 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300205EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300205EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE204_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm5EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !751 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !752 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !752 - %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_lgammaDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300314EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300314EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE313_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300865EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE652_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %ref.tmp13.i = alloca i32, align 4 - %ref.tmp14.i = alloca i32, align 4 - %ref.tmp15.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp17.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2354.236, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp17.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !755 - store float 0x3FE3984180000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !755 - store float 0x3FE1B31CA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !755 - store float 0x3FE8B2CDA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !755 - store float 0x3FDDC9BE80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !755 - store float 0x3FEB320400000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !755 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !755 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !755 - store float 0x3FD3B76B80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !755 - store float 0x3FC6DBB600000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !755 - store float 0x3FEB582CA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !755 - store float 0x3FD8640960000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !755 - store float 0x3FE07DA6A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !755 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !755 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !755 - store i32 5408, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !755 - store i32 16369, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !755 - store i32 -19023, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !755 - store i32 -28565, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !755 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !755 - store i32 -21070, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !755 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !755 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !755 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !755 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !755 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !755 - store i64 %0, ptr %agg.tmp17.i, align 8, !tbaa !128, !noalias !755 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp17.i) #14, !noalias !755 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !755 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp17.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm9EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(18) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(18) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300994EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !759 - store float 0x3FE7FA7E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !759 - store float 0x3FD246C120000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !759 - store float 0x3FDFA49CA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !759 - store float 0x3FDB139F00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !759 - store float 0x3FDF8F6BE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !759 - store float 0x3FB9D40FA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !759 - store float 0x3FE2C499C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !759 - store float 0x3FCE6E5620000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !759 - store float 0x3FE0A2C240000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !759 - store float 0x3FE87F3480000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !759 - store float 0x3FD95F55C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !759 - store float 0x3FE91595A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !759 - store float 0x3FD7853A60000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !759 - store float 0x3FD01AA620000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !759 - store float 0x3FE9831DE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !759 - store float 0x3FD5FF2C20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !759 - store float 0x3FC0BFD080000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !759 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !759 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !759 - store float 0x3FE7332AA0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !759 - store float 0x3FE3D4D360000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !759 - store float 0x3FE849F320000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !759 - store float 0x3FE2A911A0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !759 - store float 0x3FC574BCE0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !759 - store float 0x3FDF151780000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !759 - store float 0x3FCDCD1CE0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !759 - store float 0x3FC3CFA000000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !759 - store float 0x3FDA0B41E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !759 - store float 0x3FDEC7C140000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !759 - store float 0x3FE229C540000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !759 - store float 0x3FDA222A20000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !759 - store float 0x3FE98E5E60000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !759 - store float 0x3FEB1AD4A0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !759 - store float 0x3FE856E440000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !759 - store float 0x3FE9B7A220000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !759 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !759 - store float 0x3FE4F89340000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !759 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !759 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !759 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !759 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !759 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !759 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !759 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm5EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(20) %left, ptr addrspace(4) noundef align 4 dereferenceable(20) %right) #1 comdat !srcloc !145 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm5EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !762 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300111EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE110_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !763 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !763 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !577 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300747EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1862.215, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300747EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE748_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !767 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300011EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300011EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE10_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300852EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300852EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300235EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300235EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE234_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300206EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE205_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !770 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !770 - store float 0x3FE193FF40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !770 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !770 - store float 0x3FE8609CA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !770 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !770 - store float 0x3FC4C7C5C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !770 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !770 - store float 0x3FE91F7E60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !770 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !770 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !770 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !770 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !770 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !770 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !770 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !770 - call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !770 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !774 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !775 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !775 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_acosDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300727EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE570_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %result = alloca %struct.privatePtrCheck.1740.208, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !778 - store float 0x3FE500D960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !778 - store float 0x3FD1FEB7E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !778 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !778 - store float 0x3FEC942FA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !778 - store float 0x3FBE5D9360000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !778 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !778 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !778 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !778 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !778 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !778 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !778 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !778 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !778 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !778 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !778 - %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !778 - store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !778 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !778 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i32, ptr %resArg, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300896EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300896EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE675_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300006EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE5_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !782 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300257EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300257EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE256_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !783 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !784 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !784 - %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_expDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE73_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !787 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !787 - store float 0x3FC19DBD60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !787 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !787 - store float 0x3FDE827060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !787 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !787 - store float 0x3FCC4CD0A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !787 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !787 - store float 0x3FC01FDCE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !787 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !787 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !787 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !787 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !787 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !787 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !787 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !787 - call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !787 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp6 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - %2 = load i64, ptr %a2, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - store i64 %2, ptr %agg.tmp6, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp6, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !791 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !793 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300163EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE162_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !794 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !794 - store float 0x3FD29F5E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !794 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !794 - store float 0x3FDDE248E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !794 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !794 - store float 0x3FCD1F1B00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !794 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !794 - store float 0x3FD77BD360000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !794 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !794 - store float 0x3FE3F92AA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !794 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !794 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !794 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !794 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !794 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !794 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !794 - call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !794 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300695EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !797 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !797 - store half 0xH3B08, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !797 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !797 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !797 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !797 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300573EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE460_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %result = alloca %struct.privatePtrCheck.2212.230, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !800 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !800 - store float 0x3FE3217060000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !800 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !800 - store float 0x3FD8024320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !800 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !800 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !800 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !800 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !800 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !800 - store i32 18551, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !800 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !800 - store i32 12399, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !800 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !800 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !800 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !800 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !800 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !800 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !800 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !800 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !800 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !800 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !800 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !800 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !800 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !800 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !800 - store i64 %3, ptr %agg.tmp7.i, align 8, !tbaa !69, !noalias !800 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !800 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !800 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !800 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !800 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 4, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !804 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300418EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !805 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !813 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !813 - store half 0xH3B1F, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !813 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !813 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !813 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !813 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300134EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE133_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 58008802245165, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !816 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300779EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE602_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.1972", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !819 - store <2 x i32> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !819 - call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300891EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300891EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE670_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300746EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !822 - store float 0x3FE31B9C80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !822 - store float 0x3FE79DAB00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !822 - store float 0x3FE4270C00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !822 - store float 0x3FE6BDE720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !822 - store float 0x3FDF507C00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !822 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !822 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !822 - store float 0x3FBF56A740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !822 - store float 0x3FD75CB660000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !822 - store float 0x3FE33FE2E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !822 - store float 0x3FDF0377C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !822 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !822 - store float 0x3FEAB9FEE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !822 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !822 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !822 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !822 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !822 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !822 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !822 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(4) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !825 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300591EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE466_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2354.236, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !826 - store float 0x3FDEA13720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !826 - store float 0x3FE17C7CC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !826 - store float 0x3FEAF73D00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !826 - store float 0x3FECA31E40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !826 - store float 0x3FE2CF0F20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !826 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !826 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !826 - store i32 -28428, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !826 - store i32 -5217, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !826 - store i32 -11219, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !826 - store i32 -24188, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !826 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !826 - store i32 8434, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !826 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !826 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !826 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !826 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !826 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !826 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !826 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !826 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !826 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300467EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2317, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300467EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <3 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_iNS0_3vecIiLi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t) #1 comdat !srcloc !142 { -entry: - %call = tail call spir_func noundef <3 x i32> @_ZNK4sycl3_V13vecIiLi3EEcvDv3_iEv(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %t) #13 - ret <3 x i32> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE815_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !829 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300485EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE396_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !832 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !832 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300483EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE394_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !835 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !835 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !839 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300404EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300404EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE367_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300749EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !840 - store float 0x3FEB938A40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !840 - store float 0x3FD75C5080000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !840 - store float 0x3FD4C837E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !840 - store float 0x3FEA9A1380000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !840 - store float 0x3FE23FE340000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !840 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !840 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !840 - store float 0x3FC3B07480000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !840 - store float 0x3FD66770E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !840 - store float 0x3FD9D39320000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !840 - store float 0x3FDE3ADAA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !840 - store float 0x3FE2E37840000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !840 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !840 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !840 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !840 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !840 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !840 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !840 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301000EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301000EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE735_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !843 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !844 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !844 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_truncDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300075EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300075EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE74_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !848 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !848 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !848 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !848 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS1i(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !848 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !851 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !852 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300390EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300390EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !854 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !856 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !856 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !856 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300862EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2317, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300862EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !857 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !859 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13 - %call1.i = tail call spir_func noundef i32 @_Z17__spirv_ocl_ilogbDF16_(half noundef %call.i) #15 - %call2.i = tail call spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret i32 %call2.i -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !860 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !861 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !861 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_tanhDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !865 - %call.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !865 - store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !865 - %call2.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !865 - %call3.i = call spir_func noundef <4 x half> @_Z16__spirv_ocl_fminDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !868 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !869 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !869 - %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_cosDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !872 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300129EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300129EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE128_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !875 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300588EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300588EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300217EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300217EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE216_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300909EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE688_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !876 - store float 0x3FDF07A280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !876 - store float 0x3FC4D9B840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !876 - store float 0x3FEA742480000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !876 - store float 0x3FE7A7AE60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !876 - store float 0x3FE32BBBC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !876 - store float 0x3FC208E740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !876 - store float 0x3FDF761200000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !876 - store float 0x3FCE4BF760000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !876 - store float 0x3FEB923BC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !876 - store float 0x3FD30E3380000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !876 - store float 0x3FECCB2840000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !876 - store float 0x3FEAD5F720000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !876 - store float 0x3FE7FB2EC0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !876 - store float 0x3FC19F4FC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !876 - store float 0x3FE77951E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !876 - store float 0x3FE4141AE0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !876 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !876 - store float 0x3FEAF23840000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !876 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !876 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !876 - call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !876 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300736EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300736EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301069EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE804_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300762EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE585_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !879 - store float 0x3FE548C840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !879 - store float 0x3FE1827BC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !879 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !879 - store float 0x3FC14CA9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !879 - store float 0x3FDBAEC980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !879 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !879 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !879 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !879 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !879 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !879 - call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !882 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - %2 = load i64, ptr %a2, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !884 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !884 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !884 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !884 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !884 - %call4.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #13, !noalias !884 - %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS3i(half noundef %call.i, half noundef %call2.i, ptr addrspace(3) noundef %call4.i) #14, !noalias !884 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300627EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300627EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE494_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300251EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300251EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE250_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !887 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !889 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !889 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !889 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !891 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300205EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE204_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !893 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !893 - store float 0x3FDF4F7720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !893 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !893 - store float 0x3FE70F0420000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !893 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !893 - store float 0x3FEAD26A40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !893 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !893 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !893 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !893 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !893 - call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !893 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300319EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE318_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !896 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !896 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300758EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE581_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 62643081067161, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !899 - store i64 62149128172096, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !899 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a2) #2 comdat !srcloc !902 { -entry: - %agg.tmp25 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp14 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp3 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - %agg.tmp2.sroa.0.0.copyload = load <16 x half>, ptr %a2, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp14) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp25) - store <16 x half> %agg.tmp2.sroa.0.0.copyload, ptr %agg.tmp25, align 32 - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp14, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp3, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp3) #13, !noalias !903 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp14) #13, !noalias !903 - %call4.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp25) #13, !noalias !903 - %call5.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_madDv16_DF16_S_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i, <16 x half> noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp14) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp25) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300985EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300985EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !906 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300730EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !908 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !908 - store float 0x3FD88810C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !908 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !908 - store float 0x3FE9990380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !908 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !908 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !908 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !908 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !908 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !908 - store float 0x3FE9633D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !908 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !908 - store float 0x3FEB890400000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !908 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !908 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !908 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !908 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !908 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !908 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !908 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !908 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !908 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !908 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !908 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !908 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !908 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300147EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300147EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE146_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !911 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !912 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !912 - %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_lgammaDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !915 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !917 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300782EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE605_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2110", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !918 - store <8 x i32> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !918 - call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300215EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE214_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !921 - store float 0x3FE1863D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !921 - store float 0x3FE997AB80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !921 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !921 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !921 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !921 - call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !925 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !927 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !928 - %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_asinpiDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300896EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE675_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !931 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !931 - store float 0x3FE7D86B00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !931 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !931 - store float 0x3FEBC10BE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !931 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !931 - store float 0x3FC83A6240000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !931 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !931 - store float 0x3FEC5F13E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !931 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !931 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !931 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !931 - store i32 32254, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !931 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !931 - store i32 -10707, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !931 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !931 - store i32 22392, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !931 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !931 - store i32 -20650, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !931 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !931 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !931 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !931 - call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !931 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300772EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE595_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !934 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !934 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300198EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300198EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE197_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !938 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300066EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300066EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE65_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp19 = alloca %"struct.std::array.145.19", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp19.ascast = addrspacecast ptr %ref.tmp19 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %ref.tmp19) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.145.19") align 2 %ref.tmp19.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm10EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(20) %ref.tmp19.ascast) #13 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %ref.tmp19) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300690EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300690EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE557_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300890EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE669_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2018", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store i64 63785519495198, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !940 - call void @llvm.memcpy.p0.p1.i64(ptr align 16 %agg.tmp2.i, ptr addrspace(1) align 16 @__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE669_clEv.inputData_1, i64 16, i1 false), !noalias !940 - call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !943 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300745EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300745EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE576_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300292EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300292EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE291_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300048EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE47_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !945 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300333EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE332_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !948 - store half 0xH3699, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !948 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm16EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(32) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(32) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300052EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE51_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !303 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301035EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE770_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300294EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE293_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !951 - store float 0x3FEC3AACA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !951 - store float 0x3FE9E13180000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !951 - store float 0x3FD670BE00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !951 - store float 0x3FE82FD4C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !951 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !951 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !951 - store float 0x3FC5831020000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !951 - store float 0x3FDA78F380000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !951 - store float 0x3FE2071540000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !951 - store float 0x3FEC72AB00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !951 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !951 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !951 - store float 0x3FC1C99FA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !951 - store float 0x3FDB8415C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !951 - store float 0x3FEABDF580000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !951 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !951 - store float 0x3FBF4131E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !951 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !951 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !951 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !951 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !951 - store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !951 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !69, !noalias !951 - store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !951 - call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !951 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301015EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301015EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE750_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300573EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300573EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE460_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <8 x i32> @_ZNK4sycl3_V13vecIiLi8EEcvDv8_iEv(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !954 { -entry: - %0 = load <8 x i32>, ptr addrspace(4) %this, align 32, !tbaa !69 - ret <8 x i32> %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300018EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE17_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !955 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !955 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !955 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !955 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !955 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE39_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !958 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !958 - store float 0x3FE990C720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !958 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !958 - store float 0x3FD4BC30A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !958 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !958 - store float 0x3FEC3FFF40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !958 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !958 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !958 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !958 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !958 - call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !958 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !962 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !963 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp21 = alloca %"struct.std::array.143.18", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp21.ascast = addrspacecast ptr %ref.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %ref.tmp21) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.143.18") align 2 %ref.tmp21.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm11EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(22) %ref.tmp21.ascast) #13 - call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %ref.tmp21) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !624 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300182EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE181_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !964 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !964 - store float 0x3FD31871C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !964 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !964 - store float 0x3FCAE9F3E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !964 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !964 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !964 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !964 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !964 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !964 - call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !964 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !967 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !968 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !968 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fabsDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <2 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 4 dereferenceable(4) %t) #1 comdat !srcloc !971 { -entry: - %call = tail call spir_func noundef <2 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEcvDv2_DF16_Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %t) #13 - ret <2 x half> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300347EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300347EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE346_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300514EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE425_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !972 - store float 0x3FE5A576E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !972 - store float 0x3FDE4D2EE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !972 - store float 0x3FEC2336A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !972 - store float 0x3FD63F7040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !972 - store float 0x3FE3FBD640000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !972 - store float 0x3FEB9BE3E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !972 - store float 0x3FDE9F73E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !972 - store float 0x3FE317EC80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !972 - store float 0x3FC9D3B660000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !972 - store float 0x3FE103CCE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !972 - store float 0x3FEC499A60000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !972 - store float 0x3FC1DD6660000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !972 - store float 0x3FE1B4C180000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !972 - store float 0x3FEBCC9600000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !972 - store float 0x3FEBE31C20000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !972 - store float 0x3FD2020720000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !972 - store float 0x3FC0581880000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !972 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !972 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !972 - store i32 -18386, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !972 - store i32 17836, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !972 - store i32 11390, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !972 - store i32 21792, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !972 - store i32 12523, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !972 - store i32 -14082, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !972 - store i32 17535, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !972 - store i32 27126, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !972 - store i32 -15879, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !972 - store i32 21594, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !972 - store i32 -12044, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !972 - store i32 -2486, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !972 - store i32 -27786, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !972 - store i32 16208, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !972 - store i32 27690, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !972 - store i32 26732, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !972 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !972 - store i32 -17874, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !972 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !972 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !972 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !972 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !976 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300902EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300902EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE681_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300133EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300133EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE132_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300070EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE69_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !977 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %X.ascast = addrspacecast ptr %X to ptr addrspace(4) - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %X.ascast, i64 noundef %Start) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %add = add i64 %Start, 1 - %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %X.ascast, i64 noundef %add) #13 - %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300169EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300169EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE168_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300312EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE311_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !980 - store half 0xH3511, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !980 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !983 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !984 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !984 - %call3.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_atan2Dv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp15 = alloca %"struct.std::array.149.21", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp15.ascast = addrspacecast ptr %ref.tmp15 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp15) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.149.21") align 2 %ref.tmp15.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm8EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(16) %ref.tmp15.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp15) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300502EN4sycl3_V16marrayIiLm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE413_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.2344", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !987 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !987 - store float 0x3FEAD6EAC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !987 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !987 - store float 0x3FE59A9360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !987 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !987 - store float 0x3FE123E2A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !987 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !987 - store float 0x3FE9643D00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !987 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !987 - store float 0x3FEAC49DC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !987 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !987 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !987 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !987 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !987 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !987 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !987 - call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !987 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm5EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 4 dereferenceable(20) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(10) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !990 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !992 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300397EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !993 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !993 - store float 0x3FE7BD5760000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !993 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !993 - store float 0x3FEAE90720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !993 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !993 - store float 0x3FE2488640000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !993 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !993 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !993 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !993 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !993 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !993 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !993 - store float 0x3FD7345260000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !993 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !993 - store float 0x3FDF1053A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !993 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !993 - store float 0x3FDFA6BEC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !993 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !993 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !993 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !993 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !993 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !993 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !993 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !993 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !993 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !993 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !993 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !993 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm5EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv22initGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !996 { -entry: - tail call spir_func void @_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !997 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !998 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !998 - %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_atanpiDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1001 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300887EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE666_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1003 - store float 0x3FE07BAEE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1003 - store float 0x3FE5355AC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1003 - store float 0x3FE2FE97A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1003 - store float 0x3FC03669E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1003 - store float 0x3FE3C9FA80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1003 - store float 0x3FCDCF4800000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1003 - store float 0x3FE7381C20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1003 - store float 0x3FDB765BA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1003 - store float 0x3FE4E61860000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1003 - store float 0x3FC34FE520000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1003 - store float 0x3FD209B480000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1003 - store float 0x3FE4524100000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1003 - store float 0x3FE5649400000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1003 - store float 0x3FCF6F2F20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1003 - store float 0x3FE48BE360000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1003 - store float 0x3FC0F0C8C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1003 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1003 - store float 0x3FEC8ECD40000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1003 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1003 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1003 - call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1003 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1006 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300457EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1008 - store float 0x3FCC5270A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1008 - store float 0x3FC428F180000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1008 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1008 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1008 - store i32 -26484, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !1008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1008 - store i32 -25405, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !1008 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1008 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1008 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1008 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1008 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1008 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1008 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !1008 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1008 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1008 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1011 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300776EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE599_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1012 - store float 0x3FE39E41A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1012 - store float 0x3FE1335200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1012 - store float 0x3FE5D479A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1012 - store float 0x3FDD708DC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1012 - store float 0x3FE6F8DBA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1012 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1012 - store float 0x3FD8832DC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1012 - store float 0x3FCEB168A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1012 - store float 0x3FC08C12A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1012 - store float 0x3FD2450840000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1012 - store float 0x3FE6A193A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1012 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1012 - call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1012 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1012 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300618EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE485_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1015 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300089EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE88_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1018 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300539EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1945, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !1021 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300539EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300858EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1024 - store float 0x3FE1DDBEA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1024 - store float 0x3FE5086740000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1024 - store float 0x3FE0D19260000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1024 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1024 - store float 0x3FE6429580000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1024 - store float 0x3FC64AFA80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1024 - store float 0x3FCABC68E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1024 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1024 - store i32 382, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1024 - store i32 29119, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1024 - store i32 2982, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !1024 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1024 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1024 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1024 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1024 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !1024 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1024 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1027 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.16.3", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300267EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE266_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1029 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !1029 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1032 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !1034 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !1035 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !1034 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1036 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1037 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1037 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_erfcDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300304EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300304EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE303_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm7EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(14) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(14) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300868EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2364, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300868EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !685 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1040 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1040 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1040 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !1040 - %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fdimDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301083EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE818_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300626EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE493_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 63660988709641, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1043 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300183EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300183EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE182_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !677 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300934EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1046 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1046 - store half 0xH3B1F, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1046 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1046 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1046 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1046 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300486EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300486EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE397_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1049 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1051 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1052 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1052 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_log1pDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_Z22__spirv_GlobalOffset_xv() #5 comdat !srcloc !1055 { -entry: - %0 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalOffset, align 32 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300848EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE647_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %result = alloca %struct.privatePtrCheck.2212.230, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1056 - store float 0x3FD3440F60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1056 - store float 0x3FE439EAC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1056 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1056 - store float 0x3FEA8144A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1056 - store float 0x3FE0E14940000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1056 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1056 - store i32 -24648, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1056 - store i32 -26463, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1056 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1056 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !1056 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1056 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1056 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1056 - store i32 %1, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !1056 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1056 - store i64 %2, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1056 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp8.i) #14, !noalias !1056 - %3 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !1056 - store i32 %3, ptr %agg.tmp9.i, align 4, !tbaa !69, !noalias !1056 - %4 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !1056 - store i64 %4, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !1056 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp10.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %5 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %5, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %6 = load i64, ptr %resArg, align 4, !tbaa !69 - store i64 %6, ptr addrspace(4) %call3, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1059 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1061 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1061 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1061 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(14) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300102EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300102EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE101_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1064 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 - store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300471EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300471EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE390_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE771_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1065 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1068 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300286EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300286EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE285_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300984EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300984EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300990EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300990EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300075EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE74_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1069 - store float 0x3FE3016540000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1069 - store float 0x3FE353BF40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1069 - store float 0x3FC794FD00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1069 - store float 0x3FE1421180000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1069 - store float 0x3FD8263F20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1069 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1069 - call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1069 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300987EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE730_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1854.214, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1072 - store float 0x3FE666FA80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1072 - store float 0x3FD336EAC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1072 - store float 0x3FE481CF40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1072 - store float 0x3FE5B7B3E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1072 - store float 0x3FE6CA2AC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1072 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1072 - store float 0x3FEAC856A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1072 - store float 0x3FCF6D1020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1072 - store float 0x3FD7D89120000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1072 - store float 0x3FD01D7820000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1072 - store float 0x3FDE024900000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1072 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1072 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1072 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !1072 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1072 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !1072 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !1072 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1072 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300608EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE475_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1075 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1075 - store float 0x3FC7D51E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1075 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1075 - store float 0x3FDFA6C780000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1075 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1075 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1075 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1075 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1075 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1075 - call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1075 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300501EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300501EN4sycl3_V16marrayIiLm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE412_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300808EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE631_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1078 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1078 - store float 0x3FBAAC46C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1078 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1078 - store float 0x3FE61EA7C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1078 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1078 - store float 0x3FE01C3120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1078 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1078 - store float 0x3FE320EB80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1078 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1078 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1078 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1078 - store float 0x3FBB9EE9E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1078 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1078 - store float 0x3FBB74AD60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1078 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1078 - store float 0x3FD511A080000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1078 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1078 - store float 0x3FE8B954A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1078 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1078 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1078 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1078 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1078 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1078 - call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1078 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm8EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(16) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(16) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(68) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1081 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1083 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !911 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1084 - %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_lgammaDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1087 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds i32, ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm4EE6_S_refERA4_Kim(ptr addrspace(4) noundef align 4 dereferenceable(16) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [4 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1089 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a2) #2 comdat !srcloc !902 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - %2 = load i64, ptr %a2, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1091 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1091 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1091 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1091 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !69, !noalias !1091 - %call4.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp3.i) #13, !noalias !1091 - %call5.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_madDv4_DF16_S_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i, <4 x half> noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #1 comdat !srcloc !1094 { -entry: - ret ptr addrspace(4) null -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1095 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1096 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1096 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_erfcDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300475EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300475EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1099 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !1100 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !1100 - %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fmaxDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301045EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE780_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !573 - ret ptr addrspace(1) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !383 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1104 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300613EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE480_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH39B6, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1105 - call spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300933EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300933EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE712_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !943 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1110 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300611EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE478_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1111 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1111 - store float 0x3FDC9E7E60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1111 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1111 - store float 0x3FE799C600000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1111 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1111 - store float 0x3FE3856120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1111 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1111 - store float 0x3FD0DF61C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1111 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1111 - store float 0x3FE1889C20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1111 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1111 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1111 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1111 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1111 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1111 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1111 - call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1111 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300302EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE301_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1114 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1114 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1117 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300053EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300053EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE52_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300187EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300187EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE186_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm4EE6_S_refERA4_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(8) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [4 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300633EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300633EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE500_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300777EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE600_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1118 - store float 0x3FE9405500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1118 - store float 0x3FE57DECA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1118 - store float 0x3FD7A30580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1118 - store float 0x3FE9083AA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1118 - store float 0x3FDDB91380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1118 - store float 0x3FEBDBDA80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1118 - store float 0x3FE6F812C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1118 - store float 0x3FC609DD40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1118 - store float 0x3FD0430B60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1118 - store float 0x3FEBDA70A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1118 - store float 0x3FCE7732C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1118 - store float 0x3FC415EBC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1118 - store float 0x3FDA74E320000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1118 - store float 0x3FE5E406A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1118 - store float 0x3FE01685C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1118 - store float 0x3FC5475740000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1118 - store float 0x3FE76EE3E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1118 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1118 - store float 0x3FE463B680000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1118 - store float 0x3FE219BF60000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1118 - store float 0x3FCD940360000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1118 - store float 0x3FBCCBE0E0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1118 - store float 0x3FE8B44D80000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1118 - store float 0x3FCFDFADE0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1118 - store float 0x3FCFF589A0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1118 - store float 0x3FE1DF8CC0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1118 - store float 0x3FE2C4C1C0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1118 - store float 0x3FC0F78540000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1118 - store float 0x3FCF2D43E0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1118 - store float 0x3FEA7DBA40000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1118 - store float 0x3FDB83A540000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1118 - store float 0x3FE97E12E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1118 - store float 0x3FE4E13DA0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1118 - store float 0x3FE6C81660000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !1118 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1118 - store float 0x3FCEDB98A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !1118 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1118 - call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1118 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1118 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1121 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300870EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %ref.tmp13.i = alloca i32, align 4 - %ref.tmp14.i = alloca i32, align 4 - %ref.tmp15.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp18.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp18.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1122 - store float 0x3FE6502C60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1122 - store float 0x3FE560D740000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1122 - store float 0x3FCBA5BE40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1122 - store float 0x3FE3C90D00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1122 - store float 0x3FD9F800A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1122 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1122 - store float 0x3FC078A120000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1122 - store float 0x3FC8CE2060000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1122 - store float 0x3FE1C34940000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1122 - store float 0x3FE28DEB20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1122 - store float 0x3FEBA19E00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1122 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1122 - store i32 -24915, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1122 - store i32 -10388, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1122 - store i32 4252, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1122 - store i32 -10527, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1122 - store i32 -8009, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !1122 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1122 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1122 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1122 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1122 - store i64 %0, ptr %agg.tmp18.i, align 8, !tbaa !128, !noalias !1122 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp18.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1122 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp18.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300299EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE298_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 59937076689350, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1125 - store i64 61659456158478, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !1125 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1130 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1132 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE763_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1133 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1133 - store float 0x3FDE401860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1133 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1133 - store float 0x3FC0D18C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1133 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1133 - store float 0x3FE3C157E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1133 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1133 - store float 0x3FE563CAC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1133 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1133 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1133 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1133 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1133 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1133 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1133 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1133 - call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1133 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300149EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE148_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1136 - store float 0x3FE0BEAD20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1136 - store float 0x3FEB4C7AE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1136 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1136 - store float 0x3FE49D56A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1136 - store float 0x3FE359EB20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1136 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1136 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1136 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1136 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1136 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1136 - call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301079EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE814_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE752_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1139 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1139 - store float 0x3FE788C180000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1139 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1139 - store float 0x3FD09E7680000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1139 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1139 - store float 0x3FD8BC9860000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1139 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1139 - store float 0x3FD96C9920000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1139 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1139 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1139 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1139 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1139 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1139 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1139 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1139 - call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1139 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <2 x i32> @_ZNK4sycl3_V13vecIiLi2EEcvDv2_iEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !954 { -entry: - %0 = load <2 x i32>, ptr addrspace(4) %this, align 8, !tbaa !69 - ret <2 x i32> %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300461EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1143 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1143 - store float 0x3FC82756C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1143 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1143 - store float 0x3FEBB4EDE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1143 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1143 - store float 0x3FC923BE00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1143 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1143 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1143 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1143 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1143 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1143 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1143 - store i32 -8343, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !1143 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1143 - store i32 -26315, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1143 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1143 - store i32 20772, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1143 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1143 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1143 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1143 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1143 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1143 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1143 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1143 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1143 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1143 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1143 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1143 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300685EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300685EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE552_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300254EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300254EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE253_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE804_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1146 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp7 = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp7.ascast = addrspacecast ptr %ref.tmp7 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp7.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm4EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp7.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300732EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE571_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1778.210, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1149 - store float 0x3FEB10A020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1149 - store float 0x3FD18817C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1149 - store float 0x3FEBC7AA00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1149 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1149 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1149 - store float 0x3FC45D2EC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1149 - store float 0x3FD49B2000000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1149 - store float 0x3FE77AD420000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1149 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1149 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1149 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1149 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !1149 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1149 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !1149 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !1149 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1149 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300197EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300197EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE196_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300241EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE240_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1152 - store float 0x3FD4EA9200000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1152 - store float 0x3FE3EC9FE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1152 - store float 0x3FE28BBC80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1152 - store float 0x3FEAFF11C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1152 - store float 0x3FEC00C7C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1152 - store float 0x3FE092ABC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1152 - store float 0x3FC5C40AA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1152 - store float 0x3FD5C14A40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1152 - store float 0x3FE074AFA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1152 - store float 0x3FE46ED720000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1152 - store float 0x3FEB6C32C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1152 - store float 0x3FCCAED920000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1152 - store float 0x3FC08E77A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1152 - store float 0x3FE97910E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1152 - store float 0x3FE7CFECE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1152 - store float 0x3FE6CD9BA0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1152 - store float 0x3FDE6471A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1152 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1152 - call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1152 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1155 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1156 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !1156 - %call3.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_minmagDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300978EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300978EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1159 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1161 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIS4_Lm3EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1162 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300311EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE310_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1163 - store half 0xH3288, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1163 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a2, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp9, align 2, !tbaa !99 - %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp11, align 2, !tbaa !99 - %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a2.ascast, i64 noundef 2) #13 - %3 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 - store i16 %3, ptr %agg.tmp13, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 - %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %4 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call15, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1167 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300526EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300526EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE437_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301016EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE751_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1168 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1168 - store float 0x3FE894B300000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1168 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1168 - store float 0x3FCF7246E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1168 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1168 - store float 0x3FE1C0C200000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1168 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1168 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1168 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1168 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1168 - call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1168 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv16initGlobalOffsetILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !1171 { -entry: - tail call spir_func void @_ZN7__spirv23InitSizesSTGlobalOffsetILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300047EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE46_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300027EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE26_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1172 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %t) #1 comdat !srcloc !1175 !sycl_used_aspects !63 { -entry: - %t.addr = alloca half, align 2 - %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) - store half %t, ptr %t.addr, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %t.addr.ascast) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1176 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300537EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE448_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.1936.218, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1177 - store i32 27879, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !1177 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1177 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1177 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !1177 - store half 0xH324C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1177 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1177 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !1177 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !1177 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !1177 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !1177 - %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !1177 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, i32 noundef %2) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !1177 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1177 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1177 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 4, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 - %4 = load i32, ptr %resArg, align 4, !tbaa !1180 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1184 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1186 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1186 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1186 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm8EE6_S_refERA8_Kim(ptr addrspace(4) noundef align 4 dereferenceable(32) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [8 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300974EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300974EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE725_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1187 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1188 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1188 - %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_sinDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300538EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1945, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !1191 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300538EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 - %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 - %conv = fptrunc float %call to half - %splat.splatinsert = insertelement <16 x half> poison, half %conv, i64 0 - %splat.splat = shufflevector <16 x half> %splat.splatinsert, <16 x half> poison, <16 x i32> zeroinitializer - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - store <16 x half> %splat.splat, ptr addrspace(4) %this, align 32, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EE4sizeEv() #1 comdat align 2 !srcloc !587 { -entry: - ret i64 4 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300150EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300150EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE149_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301049EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE784_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1194 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1194 - store float 0x3FD8D4A9A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1194 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1194 - store float 0x3FEC39FD00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1194 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1194 - store float 0x3FC43A4800000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1194 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1194 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1194 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1194 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1194 - call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1194 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300330EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300330EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE329_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1197 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1198 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1199 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1199 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1199 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1199 - %call3.i = tail call spir_func noundef <4 x half> @_Z19__spirv_ocl_atan2piDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2018") align 16 %a1) #2 comdat !srcloc !1202 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2018", align 16 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp13, ptr align 16 %a1, i64 16, i1 false) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1203 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1203 - %call2.i = tail call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp13) #13, !noalias !1203 - %call7.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_rootnDv3_DF16_Dv3_i(<3 x half> noundef %call.i, <3 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300239EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300239EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE238_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm7EE6_S_refERA7_Kim(ptr addrspace(4) noundef align 4 dereferenceable(28) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [7 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(10) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1206 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300323EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE322_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1208 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1208 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300158EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE157_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1211 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp27 = alloca %"struct.std::array.137.15", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp27.ascast = addrspacecast ptr %ref.tmp27 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 28, ptr nonnull %ref.tmp27) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.137.15") align 2 %ref.tmp27.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm14EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(28) %ref.tmp27.ascast) #13 - call void @llvm.lifetime.end.p0(i64 28, ptr nonnull %ref.tmp27) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300680EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300680EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE547_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1214 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300581EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2270, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300581EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %this) #1 comdat align 2 !srcloc !1215 !sycl_used_aspects !63 { -entry: - %0 = load half, ptr addrspace(4) %this, align 2, !tbaa !1216 - %conv = fpext half %0 to float - ret float %conv -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1217 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1218 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1219 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1219 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_acoshDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE808_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1222 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1222 - store float 0x3FCD6836A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1222 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1222 - store float 0x3FDFB8F0A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1222 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1222 - store float 0x3FEA7FA1A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1222 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1222 - store float 0x3FEB09D080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1222 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1222 - store float 0x3FCC2C0F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1222 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1222 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1222 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1222 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1222 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1222 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1222 - call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1222 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1225 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1226 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1226 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_exp2Dv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::nd_item") align 8 %agg.result, ptr addrspace(4) noundef %0) #1 comdat align 2 !srcloc !1229 { -entry: - %GlobalSize = alloca %"class.sycl::_V1::range", align 8 - %LocalSize = alloca %"class.sycl::_V1::range", align 8 - %GroupRange = alloca %"class.sycl::_V1::range", align 8 - %GroupId = alloca %"class.sycl::_V1::range", align 8 - %GlobalId = alloca %"class.sycl::_V1::range", align 8 - %LocalId = alloca %"class.sycl::_V1::range", align 8 - %GlobalOffset = alloca %"class.sycl::_V1::range", align 8 - %Group = alloca %"class.sycl::_V1::group", align 8 - %GlobalItem = alloca %"class.sycl::_V1::item", align 8 - %LocalItem = alloca %"class.sycl::_V1::item.1524", align 8 - %GlobalSize.ascast = addrspacecast ptr %GlobalSize to ptr addrspace(4) - %LocalSize.ascast = addrspacecast ptr %LocalSize to ptr addrspace(4) - %GroupRange.ascast = addrspacecast ptr %GroupRange to ptr addrspace(4) - %GroupId.ascast = addrspacecast ptr %GroupId to ptr addrspace(4) - %GlobalId.ascast = addrspacecast ptr %GlobalId to ptr addrspace(4) - %LocalId.ascast = addrspacecast ptr %LocalId to ptr addrspace(4) - %GlobalOffset.ascast = addrspacecast ptr %GlobalOffset to ptr addrspace(4) - %Group.ascast = addrspacecast ptr %Group to ptr addrspace(4) - %GlobalItem.ascast = addrspacecast ptr %GlobalItem to ptr addrspace(4) - %LocalItem.ascast = addrspacecast ptr %LocalItem to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GlobalSize) #13 - call spir_func void @_ZN7__spirv14initGlobalSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GlobalSize.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %LocalSize) #13 - call spir_func void @_ZN7__spirv17initWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %LocalSize.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GroupRange) #13 - call spir_func void @_ZN7__spirv17initNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GroupRange.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GroupId) #13 - call spir_func void @_ZN7__spirv15initWorkgroupIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GroupId.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GlobalId) #13 - call spir_func void @_ZN7__spirv22initGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GlobalId.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %LocalId) #13 - call spir_func void @_ZN7__spirv21initLocalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %LocalId.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %GlobalOffset) #13 - call spir_func void @_ZN7__spirv16initGlobalOffsetILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %GlobalOffset.ascast) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %Group) #13 - call spir_func void @_ZN4sycl3_V16detail7Builder11createGroupILi1EEENS0_5groupIXT_EEERKNS0_5rangeIXT_EEES9_S9_RKNS0_2idIXT_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::group") align 8 %Group.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GlobalSize.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %LocalSize.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GroupRange.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GroupId.ascast) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %GlobalItem) #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10createItemILi1ELb1EEENSt9enable_ifIXT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEESG_(ptr addrspace(4) sret(%"class.sycl::_V1::item") align 8 %GlobalItem.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GlobalSize.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GlobalId.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %GlobalOffset.ascast) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %LocalItem) #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10createItemILi1ELb0EEENSt9enable_ifIXntT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::item.1524") align 8 %LocalItem.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %LocalSize.ascast, ptr addrspace(4) noundef align 8 dereferenceable(8) %LocalId.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail7Builder12createNDItemILi1EEENS0_7nd_itemIXT_EEERKNS0_4itemIXT_ELb1EEERKNS6_IXT_ELb0EEERKNS0_5groupIXT_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(24) %GlobalItem.ascast, ptr addrspace(4) noundef align 8 dereferenceable(16) %LocalItem.ascast, ptr addrspace(4) noundef align 8 dereferenceable(32) %Group.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %LocalItem) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %GlobalItem) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %Group) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GlobalOffset) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %LocalId) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GlobalId) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GroupId) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GroupRange) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %LocalSize) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %GlobalSize) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300804EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300804EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE627_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - %2 = load i64, ptr %a2, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1230 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1230 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !1230 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !1230 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1230 - %call4.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #13, !noalias !1230 - %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS1i(half noundef %call.i, half noundef %call2.i, ptr addrspace(1) noundef %call4.i) #14, !noalias !1230 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm11EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(22) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.141.17") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(22) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(68) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1159 - ret ptr %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(52) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 7) #13 - %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 - %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 8) #13 - %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 - store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 - %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 9) #13 - %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 - store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 - %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 10) #13 - %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 - store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 - %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 11) #13 - %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 - store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 - %arrayinit.element24 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 13 - %call25 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %A2, i64 noundef 12) #13 - %15 = load i32, ptr addrspace(4) %call25, align 4, !tbaa !126 - store i32 %15, ptr addrspace(4) %arrayinit.element24, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1233 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300609EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300609EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE476_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300165EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300165EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE164_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EEC2EPU3AS0i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !906 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1235 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300058EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE57_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIiLm5EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, ptr addrspace(4) noundef align 4 dereferenceable(20) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 1) #13 - %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element3 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 2 - %call4 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 2) #13 - %3 = load i32, ptr addrspace(4) %call4, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element3, align 4, !tbaa !126 - %arrayinit.element5 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 3 - %call6 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 3) #13 - %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element5, align 4, !tbaa !126 - %arrayinit.element7 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 4 - %call8 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %Arr, i64 noundef 4) #13 - %5 = load i32, ptr addrspace(4) %call8, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element7, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300081EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE80_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1237 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !1237 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300626EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300626EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE493_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300797EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE620_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1240 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1240 - store float 0x3FD5A742C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1240 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1240 - store float 0x3FCEE95380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1240 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1240 - store float 0x3FC9DF1360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1240 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1240 - store float 0x3FE5C30BA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1240 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1240 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1240 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1240 - store float 0x3FE6464600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1240 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1240 - store float 0x3FE72907E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1240 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1240 - store float 0x3FECAF7B20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1240 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1240 - store float 0x3FD5911280000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1240 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1240 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1240 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1240 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1240 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1240 - call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1240 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300781EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300781EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE604_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300190EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300190EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE189_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300410EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300410EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE369_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300222EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE221_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 60177696110369, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1243 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !927 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1246 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1246 - %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_asinpiDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300692EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1249 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1249 - store half 0xH3440, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1249 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1249 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1249 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1249 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300636EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE503_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1252 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300981EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300981EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE728_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1255 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1256 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !1256 - %call3.i = tail call spir_func noundef <8 x half> @_Z21__spirv_ocl_nextafterDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300466EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1259 - store float 0x3FD1B09360000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1259 - store float 0x3FC48DC020000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1259 - store float 0x3FD82D9080000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1259 - store float 0x3FE4200120000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1259 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1259 - store i32 -11566, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1259 - store i32 -9703, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1259 - store i32 -2182, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1259 - store i32 -21130, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1259 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1259 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1259 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1259 - %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1259 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1259 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1259 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !1259 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1259 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 - store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300249EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE248_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1262 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1262 - store float 0x3FE3BB0AE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1262 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1262 - store float 0x3FEC8090A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1262 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1262 - store float 0x3FE9DDD560000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1262 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1262 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1262 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1262 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1262 - call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1262 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iS4_EET_T0_(ptr addrspace(3) noundef %from) #1 comdat !srcloc !114 { -entry: - ret ptr addrspace(3) %from -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !626 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1265 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300097EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300097EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE96_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300325EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300325EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE324_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1266 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301042EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE777_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3927, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1268 - call spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %left, ptr addrspace(4) noundef align 8 dereferenceable(8) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = trunc i64 %i.0 to i32 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %left, i32 noundef %conv) #13 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %right, i32 noundef %conv) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !1272 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !230 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1273 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1273 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1273 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1273 - %call3.i = tail call spir_func noundef <4 x half> @_Z21__spirv_ocl_remainderDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300600EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300600EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300911EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE690_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1276 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1279 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300625EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE492_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1280 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16detail9half_impl4halfEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { -entry: - %arrayidx = getelementptr inbounds [17 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300784EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300784EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE607_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm7EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(28) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(28) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1284 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300091EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE90_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1285 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm13EE6_S_refERA13_Kim(ptr addrspace(4) noundef align 4 dereferenceable(52) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [13 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1288 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1289 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300852EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp9.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1290 - store float 0x3FE4B6CA00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1290 - store float 0x3FE516D540000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1290 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1290 - store float 0x3FE1018800000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1290 - store float 0x3FDE687780000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1290 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1290 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1290 - store i32 -6534, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1290 - store i32 986, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1290 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1290 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1290 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1290 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1290 - store i32 %0, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !1290 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1290 - store i32 %1, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !1290 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1290 - store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !1290 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1290 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %3 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %3, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1293 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300321EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300321EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE320_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300176EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE175_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH37C8, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1294 - call spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(6) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1297 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300459EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300459EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE386_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE40_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1298 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1298 - store float 0x3FC70EFA00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1298 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1298 - store float 0x3FE90F91A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1298 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1298 - store float 0x3FDAB5F9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1298 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1298 - store float 0x3FC52138A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1298 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1298 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1298 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1298 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1298 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1298 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1298 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1298 - call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1298 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - %2 = load i64, ptr %a2, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1301 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1301 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !1301 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !1301 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1301 - %call4.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp3.i) #13, !noalias !1301 - %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS0i(half noundef %call.i, half noundef %call2.i, ptr noundef %call4.i) #14, !noalias !1301 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE66_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1304 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1307 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1307 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !1307 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !1307 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !1307 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm11EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(44) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(44) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300517EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300517EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE428_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300193EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300193EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE192_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !943 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300766EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE589_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1310 - store float 0x3FE76ED3A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1310 - store float 0x3FDE4D85A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1310 - store float 0x3FE5EC99A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1310 - store float 0x3FE8ACBC00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1310 - store float 0x3FE38C98A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1310 - store float 0x3FE310E9A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1310 - store float 0x3FD00FC040000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1310 - store float 0x3FD1E7F520000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1310 - store float 0x3FE3DD4180000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1310 - store float 0x3FEB489FE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1310 - store float 0x3FE0EEFF40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1310 - store float 0x3FBD325300000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1310 - store float 0x3FE8E661C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1310 - store float 0x3FEA7F0C00000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1310 - store float 0x3FCAF8FB60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1310 - store float 0x3FDAC498C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1310 - store float 0x3FE57B3D60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1310 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1310 - store float 0x3FDC8D24C0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1310 - store float 0x3FDE6373A0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1310 - store float 0x3FE7B3DD20000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1310 - store float 0x3FE78E0460000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1310 - store float 0x3FE083C820000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1310 - store float 0x3FE48E93E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1310 - store float 0x3FD5DF7740000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1310 - store float 0x3FE21EADC0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1310 - store float 0x3FE3688B00000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1310 - store float 0x3FD37CB060000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1310 - store float 0x3FBFABB420000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1310 - store float 0x3FE869D700000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1310 - store float 0x3FD98B6AA0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1310 - store float 0x3FEC73AF40000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1310 - store float 0x3FC871F940000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1310 - store float 0x3FE23CC580000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !1310 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1310 - store float 0x3FEC79DDC0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !1310 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1310 - call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1310 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1310 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300236EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE235_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1313 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300858EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300858EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300334EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE333_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1316 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1316 - store float 0x3FBE2413C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1316 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1316 - store float 0x3FD5947BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1316 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1316 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1316 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1316 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1316 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1316 - store half 0xH34B2, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !1316 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1316 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1320 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300081EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300081EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE80_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300575EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2223, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300575EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300764EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE587_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1321 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1321 - store float 0x3FE1885400000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1321 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1321 - store float 0x3FE8661BE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1321 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1321 - store float 0x3FE8C02940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1321 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1321 - store float 0x3FD75AB0A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1321 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1321 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1321 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1321 - store float 0x3FE26F7560000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1321 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1321 - store float 0x3FD00A7F40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1321 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1321 - store float 0x3FD83130A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1321 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1321 - store float 0x3FDB6AD6A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1321 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1321 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1321 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1321 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1321 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1321 - call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1321 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !911 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1324 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1324 - %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_lgammaDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1327 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300972EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1329 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1329 - store float 0x3FEA1E1460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1329 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1329 - store float 0x3FE7DE54E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1329 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1329 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1329 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1329 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1329 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1329 - store float 0x3FE90B5620000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1329 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1329 - store float 0x3FDBEF0340000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1329 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1329 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1329 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1329 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1329 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1329 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1329 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1329 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1329 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !1329 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1329 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1329 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1329 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300911EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300911EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE690_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300643EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE510_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1332 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1332 - store float 0x3FBF9DEE80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1332 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1332 - store float 0x3FEBBA49C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1332 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1332 - store float 0x3FEB18B7C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1332 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1332 - store float 0x3FE3864F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1332 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1332 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1332 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1332 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1332 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1332 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1332 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1332 - call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1332 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1335 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300396EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300396EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300870EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300870EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300475EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1336 - store float 0x3FE9760E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1336 - store float 0x3FE0CD12E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1336 - store float 0x3FE1DF4360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1336 - store float 0x3FEAF6C080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1336 - store float 0x3FE26F58E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1336 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1336 - store i32 27793, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1336 - store i32 -9407, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1336 - store i32 26558, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1336 - store i32 -7724, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1336 - store i32 -31321, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !1336 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1336 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1336 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1336 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1336 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !1336 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1336 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !557 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1339 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1339 - %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_tanDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300040EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE39_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !183 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1342 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1342 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1342 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1342 - %call3.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_powDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1345 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300926EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE705_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1347 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300234EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE233_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1350 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300927EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300927EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE706_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300334EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300334EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE333_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1354 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300233EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300233EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE232_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1356 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301018EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE753_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1357 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1358 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1358 - %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_acospiDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300118EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300118EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE117_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !738 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE758_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1361 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300500EN4sycl3_V16marrayIiLm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE411_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.2250", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1364 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1364 - store float 0x3FCEFCB440000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1364 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1364 - store float 0x3FDB6277A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1364 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1364 - store float 0x3FE7A99E60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1364 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1364 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1364 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1364 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1364 - call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1364 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm3EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%union.anon) align 8 %t) #1 comdat !srcloc !1367 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr addrspace(1) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(16) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <8 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t) #1 comdat !srcloc !971 { -entry: - %call = tail call spir_func noundef <8 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEcvDv8_DF16_Ev(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %t) #13 - ret <8 x half> %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %left, ptr addrspace(4) noundef align 2 dereferenceable(8) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !1368 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !352 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300909EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300909EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE688_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1370 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1255 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1371 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1371 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !1371 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !1371 - %call3.i = tail call spir_func noundef <2 x half> @_Z21__spirv_ocl_nextafterDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1374 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1375 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300195EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE194_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1376 - store float 0x3FE5654D20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1376 - store float 0x3FE4A10BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1376 - store float 0x3FE71C8EA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1376 - store float 0x3FE12657C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1376 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1376 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1376 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1376 - call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1376 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300515EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE426_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1379 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, i32 noundef 1248) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300468EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1382 - store float 0x3FE6749FE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1382 - store float 0x3FE3C42660000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1382 - store float 0x3FC7BB2360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1382 - store float 0x3FDA51A9E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1382 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1382 - store i32 16246, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1382 - store i32 -1440, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1382 - store i32 -15372, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1382 - store i32 16167, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1382 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1382 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1382 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1382 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1382 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1382 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1382 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !1382 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1382 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1385 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1386 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1387 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300895EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300895EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE674_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.2110") align 32 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_iNS0_3vecIiLi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 32 dereferenceable(32) %t.ascast) #13 - ret <8 x i32> %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm5EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { -entry: - %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300864EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300864EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1389 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1389 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !1389 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !1389 - %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !1389 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1392 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300648EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300648EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE515_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm5EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE56_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 55242827904865, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1393 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300459EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE386_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2260.232, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1396 - store float 0x3FC4FEC600000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1396 - store float 0x3FE5C302A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1396 - store float 0x3FE34CDF80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1396 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1396 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1396 - store i32 -6471, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !1396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1396 - store i32 -5060, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1396 - store i32 6411, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1396 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1396 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1396 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1396 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !1396 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1396 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !1396 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !1396 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1396 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1399 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1400 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1400 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_asinDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300462EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300462EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm5EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300541EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1403 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1403 - store half 0xH377C, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1403 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1403 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !1403 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1403 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1407 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300609EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE476_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1409 - store float 0x3FE37D6480000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1409 - store float 0x3FBCD390C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1409 - store float 0x3FCCBE98A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1409 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1409 - call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1409 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300813EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !1412 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1415 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1415 - store half 0xH3824, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1415 - store half 0xH383D, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !1415 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !1415 - store i64 %2, ptr %agg.tmp4.i, align 8, !tbaa !128, !noalias !1415 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp4.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !1415 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1418 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300200EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE199_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 59413275032175, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1419 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300737EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1422 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1422 - store float 0x3FEB770C80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1422 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1422 - store float 0x3FE8C890A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1422 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1422 - store float 0x3FEBFDC260000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1422 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1422 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1422 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1422 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1422 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1422 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1422 - store float 0x3FDEA09500000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1422 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1422 - store float 0x3FDB6681C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1422 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1422 - store float 0x3FE694D9C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1422 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1422 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1422 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1422 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1422 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1422 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1422 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1422 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1422 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1422 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1422 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1422 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300269EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300269EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE268_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300070EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300070EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE69_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301017EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE752_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301027EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301027EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE762_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300882EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300882EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE661_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300470EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300470EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE389_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1425 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1426 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300515EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300515EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE426_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301060EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE795_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1429 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1429 - store float 0x3FECB69760000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1429 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1429 - store float 0x3FE6095A80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1429 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1429 - store float 0x3FD11A9220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1429 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1429 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1429 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1429 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1429 - call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1429 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300902EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE681_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1432 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300198EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE197_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3B1A, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1435 - call spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300485EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300485EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE396_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1438 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1439 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1439 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_ceilDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300152EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE151_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1442 - store float 0x3FE53F6FC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1442 - store float 0x3FEBB993A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1442 - store float 0x3FCDA4B3A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1442 - store float 0x3FEAD7D6A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1442 - store float 0x3FEAF4D9C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1442 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1442 - store float 0x3FE3731740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1442 - store float 0x3FEB462540000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1442 - store float 0x3FD3566680000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1442 - store float 0x3FE9C614C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1442 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1442 - store float 0x3FE7004620000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1442 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1442 - call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1442 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1442 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300251EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE250_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1445 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1445 - store float 0x3FD8A78FE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1445 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1445 - store float 0x3FDCD54580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1445 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1445 - store float 0x3FDCDF22A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1445 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1445 - store float 0x3FE42DC360000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1445 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1445 - store float 0x3FE8DB8500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1445 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1445 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1445 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1445 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1445 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1445 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1445 - call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1445 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301032EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE767_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1448 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300803EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300803EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE626_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1451 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1451 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !1451 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE0EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !1451 - %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS1i(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !1451 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.2215", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm2EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1454 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE11_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1455 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1458 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a2) #2 comdat !srcloc !1459 { -entry: - %agg.tmp25 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp14 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp3 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - %agg.tmp2.sroa.0.0.copyload = load <8 x half>, ptr %a2, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp14) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp25) - store <8 x half> %agg.tmp2.sroa.0.0.copyload, ptr %agg.tmp25, align 16 - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp14, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp3, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp3) #13, !noalias !1460 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp14) #13, !noalias !1460 - %call4.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp25) #13, !noalias !1460 - %call5.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_fmaDv8_DF16_S_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i, <8 x half> noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp14) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp25) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !997 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1463 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1463 - %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_atanpiDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1466 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !296 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1467 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !1467 - %call3.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_maxmagDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300117EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300117EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE116_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300986EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300986EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE729_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1470 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1471 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1471 - %call1.i = tail call spir_func noundef <2 x i32> @_Z17__spirv_ocl_ilogbDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, <2 x i32> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1474 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE4sizeEv() #1 comdat align 2 !srcloc !458 { -entry: - ret i64 3 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1475 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1477 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1479 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.40.5", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300213EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300213EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE212_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300201EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE200_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1481 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE820_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1484 - store float 0x3FD3BD0300000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1484 - store float 0x3FDE9F1840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1484 - store float 0x3FE8E15600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1484 - store float 0x3FD5E1E520000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1484 - store float 0x3FD4E56880000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1484 - store float 0x3FC260E220000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1484 - store float 0x3FCE2A69E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1484 - store float 0x3FCD4F8C20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1484 - store float 0x3FE7C1A5A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1484 - store float 0x3FEA624320000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1484 - store float 0x3FE96EE220000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1484 - store float 0x3FD224CAA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1484 - store float 0x3FEA47DF60000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1484 - store float 0x3FDD6CBDC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1484 - store float 0x3FCB5B8EC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1484 - store float 0x3FD7FB46C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1484 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1484 - store float 0x3FC1ACF180000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1484 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1484 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1484 - call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1484 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1488 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1490 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1490 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1490 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1491 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1492 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1492 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_coshDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300624EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE491_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3A15, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1495 - call spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300891EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE670_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2064", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1498 - store <4 x i32> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !1498 - call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301058EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE793_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIN4sycl3_V16detail9half_impl4halfEEPU3AS3T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !1502 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPvi(ptr addrspace(4) noundef %Ptr, i32 noundef 4) #15 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300748EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300748EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300237EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300237EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE236_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300184EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300184EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE183_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300265EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300265EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE264_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300644EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE511_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1504 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1504 - store float 0x3FE6A910E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1504 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1504 - store float 0x3FEAE70FE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1504 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1504 - store float 0x3FD8006360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1504 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1504 - store float 0x3FE33A0C40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1504 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1504 - store float 0x3FEC2E2DC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1504 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1504 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1504 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1504 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1504 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1504 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1504 - call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1504 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1507 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1508 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1508 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1508 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1508 - %call3.i = tail call spir_func noundef <4 x half> @_Z20__spirv_ocl_copysignDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp3 = alloca %"class.sycl::_V1::marray.7", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp3.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300508EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE419_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2110", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1511 - store <8 x i32> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1511 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300277EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE276_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 61805457192969, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1514 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2110") align 32 %a1) #2 comdat !srcloc !1517 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2110", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x i32>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <8 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1518 - %call2.i = tail call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp13) #13, !noalias !1518 - %call3.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_ldexpDv8_DF16_Dv8_i(<8 x half> noundef %call.i, <8 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1198 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1521 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1521 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1521 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !1521 - %call7.i = tail call spir_func noundef <3 x half> @_Z19__spirv_ocl_atan2piDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !967 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1525 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1525 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fabsDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1528 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm9EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(36) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(36) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300996EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300996EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300099EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE98_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3992, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1529 - call spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300306EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300306EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE305_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1533 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1534 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1534 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_expm1DF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1537 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1538 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300814EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1945, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !1540 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300814EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300270EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE269_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1543 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1543 - store float 0x3FE5562D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1543 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1543 - store float 0x3FE8F1EAC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1543 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1543 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1543 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1543 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1543 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1543 - store float 0x3FE4EC5E20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1543 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1543 - store float 0x3FCB234C80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1543 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1543 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1543 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1543 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1543 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1543 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1543 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1543 - call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1543 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1543 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1546 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301042EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301042EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE777_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300905EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE684_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1548 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1548 - store float 0x3FC14D64A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1548 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1548 - store float 0x3FD63E2B80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1548 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1548 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1548 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1548 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1548 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1548 - call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1548 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1552 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300898EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE677_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1553 - store float 0x3FDFFCD840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1553 - store float 0x3FC4577A60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1553 - store float 0x3FD2F08140000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1553 - store float 0x3FE579F240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1553 - store float 0x3FDF0A3620000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1553 - store float 0x3FD82E38A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1553 - store float 0x3FC65EDB40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1553 - store float 0x3FE2D551A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1553 - store float 0x3FDF099F20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1553 - store float 0x3FCADA6060000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1553 - store float 0x3FE0DCB5C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1553 - store float 0x3FE1A0C840000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1553 - store float 0x3FDFBD3CA0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1553 - store float 0x3FD7C56D80000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1553 - store float 0x3FE38C1B20000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1553 - store float 0x3FD14E35E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1553 - store float 0x3FDDC35F00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1553 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1553 - store i32 -13613, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1553 - store i32 29149, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1553 - store i32 1297, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1553 - store i32 -31384, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1553 - store i32 -28980, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1553 - store i32 -5765, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1553 - store i32 -14300, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1553 - store i32 -887, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1553 - store i32 9913, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1553 - store i32 -2332, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1553 - store i32 -7778, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1553 - store i32 25381, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1553 - store i32 5340, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1553 - store i32 29331, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1553 - store i32 22106, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1553 - store i32 -1515, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !1553 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1553 - store i32 7259, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !1553 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1553 - call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !1553 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1553 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300510EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300510EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE421_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300607EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE474_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1556 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1559 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a2, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp9, align 2, !tbaa !99 - %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp11, align 2, !tbaa !99 - %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a2.ascast, i64 noundef 2) #13 - %3 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 - store i16 %3, ptr %agg.tmp13, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 - %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %4 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call15, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [3 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300970EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 - store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1560 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1560 - store float 0x3FE062F000000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1560 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1560 - store float 0x3FCAFC6A40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1560 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1560 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1560 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1560 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1560 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1560 - store float 0x3FEC5C6480000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1560 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1560 - store float 0x3FE9999B20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1560 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1560 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1560 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1560 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1560 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1560 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1560 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1560 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1560 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !1560 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1560 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1560 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1560 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300148EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE147_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1563 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1563 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm15EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(30) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(30) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1566 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(20) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 7) #13 - %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 - %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 8) #13 - %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 - store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 - %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm10EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %A2, i64 noundef 9) #13 - %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 - store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1DF16_PU3AS1NS1_9half_impl4halfEEET_T0_(ptr addrspace(1) noundef %call) #13 - ret ptr addrspace(1) %call1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.2064") align 16 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_iNS0_3vecIiLi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t.ascast) #13 - ret <4 x i32> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1568 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300474EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300474EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE84_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1570 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1570 - store float 0x3FCCD0D000000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1570 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1570 - store float 0x3FEA2E3480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1570 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1570 - store float 0x3FEB68CC40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1570 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1570 - store float 0x3FE7CADA20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1570 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1570 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1570 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1570 - store float 0x3FD692DA20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1570 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1570 - store float 0x3FD2D555E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1570 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1570 - store float 0x3FE6863D80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1570 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1570 - store float 0x3FD54D6020000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1570 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1570 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1570 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1570 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1570 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1570 - call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1570 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301010EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE745_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1573 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !967 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1576 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fabsDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300621EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE488_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1579 - store float 0x3FD62977E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1579 - store float 0x3FE9B132E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1579 - store float 0x3FDC75CF60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1579 - store float 0x3FD49F72E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1579 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1579 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1579 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1579 - call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1579 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300585EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE464_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.2307.234, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1582 - store float 0x3FE72F2820000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1582 - store float 0x3FE546C840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1582 - store float 0x3FE3666DA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1582 - store float 0x3FECBFB680000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1582 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1582 - store i32 -3076, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1582 - store i32 19934, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1582 - store i32 -14504, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1582 - store i32 15358, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1582 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1582 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1582 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !1582 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1582 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1582 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1582 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !1582 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !1582 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !1582 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !1582 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1582 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1357 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1585 - %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_acospiDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300321EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE320_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1588 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !1588 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301041EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE776_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1591 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1593 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300523EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300523EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE434_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a2) #2 comdat !srcloc !1459 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp4.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - %2 = load i64, ptr %a2, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1594 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1594 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1594 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !1594 - store i64 %2, ptr %agg.tmp4.i, align 8, !tbaa !69, !noalias !1594 - %call5.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp4.i) #13, !noalias !1594 - %call12.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_fmaDv3_DF16_S_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i, <3 x half> noundef %call5.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call12.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm17EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { -entry: - %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300659EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300659EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE526_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300151EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE150_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1597 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1597 - store float 0x3FEB63FDE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1597 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1597 - store float 0x3FEAEB16C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1597 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1597 - store float 0x3FC4C78B60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1597 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1597 - store float 0x3FDD58C7E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1597 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1597 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1597 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1597 - store float 0x3FE63F5100000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1597 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1597 - store float 0x3FDD6C1B20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1597 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1597 - store float 0x3FE03A5220000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1597 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1597 - store float 0x3FE7DACD20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1597 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1597 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1597 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1597 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1597 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1597 - call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1597 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !253 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !1600 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1601 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !1602 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr addrspace(1) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE16_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1603 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1603 - store float 0x3FDF4E5240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1603 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1603 - store float 0x3FE354EF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1603 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1603 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1603 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1603 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1603 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1603 - call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1603 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1099 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1606 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1606 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1606 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !1606 - %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fmaxDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300061EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE60_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !860 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1609 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1609 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_tanhDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300253EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300253EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE252_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300246EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300246EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE245_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300230EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE229_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1612 - store float 0x3FC8BA8DC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1612 - store float 0x3FE2ADCE00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1612 - store float 0x3FEB227540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1612 - store float 0x3FD09B8760000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1612 - store float 0x3FE62BD1A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1612 - store float 0x3FD085C400000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1612 - store float 0x3FB9E7FDC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1612 - store float 0x3FEA26C080000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1612 - store float 0x3FE8DC4220000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1612 - store float 0x3FC3A35D20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1612 - store float 0x3FCEF04BA0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1612 - store float 0x3FD2656DE0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1612 - store float 0x3FEAF70C00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1612 - store float 0x3FD9F46BC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1612 - store float 0x3FE7DE7500000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1612 - store float 0x3FDCB6B200000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1612 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1612 - store float 0x3FD9EB7340000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1612 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1612 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1612 - call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1612 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1615 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1616 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300204EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE203_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1618 - store float 0x3FE22828E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1618 - store float 0x3FD3661A00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1618 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1618 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1618 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1618 - call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !967 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1621 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1621 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fabsDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1624 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300635EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300635EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE502_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm10EE6_S_refERA10_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(20) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [10 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1626 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1627 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1627 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_exp2DF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300173EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE172_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1630 - store float 0x3FE9451E40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1630 - store float 0x3FE7715300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1630 - store float 0x3FE92D1FE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1630 - store float 0x3FD3D3AAC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1630 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1630 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1630 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1630 - call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1630 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300532EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300532EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE443_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1633 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300998EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE733_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH36DC, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1635 - call spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300744EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300744EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE575_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm15EE6_S_refERA15_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(30) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300932EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE711_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.195, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1638 - store i16 12300, ptr %multiPtrSourceData.i, align 2, !noalias !1638 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1638 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1638 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !1638 - store half 0xH3A17, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1638 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1638 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !1638 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !1638 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !1638 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !1638 - %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !1638 - store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !1638 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !1638 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1638 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1638 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %4 = load i16, ptr %resArg, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !696 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1641 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2018") align 16 %a1) #2 comdat !srcloc !1517 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2018", align 16 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp13, ptr align 16 %a1, i64 16, i1 false) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1642 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1642 - %call2.i = tail call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp13) #13, !noalias !1642 - %call7.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_ldexpDv3_DF16_Dv3_i(<3 x half> noundef %call.i, <3 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE27_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1645 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1645 - store float 0x3FD65895C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1645 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1645 - store float 0x3FD8AFA8A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1645 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1645 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1645 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1645 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1645 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1645 - call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1645 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301076EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301076EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE811_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300090EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300090EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE89_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp5 = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp5) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp5.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp5) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !860 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1648 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1648 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_tanhDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm15EE6_S_refERA15_Kim(ptr addrspace(4) noundef align 4 dereferenceable(60) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1651 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1653 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1653 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !1653 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1654 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300042EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE41_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1655 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1655 - store float 0x3FD4772120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1655 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1655 - store float 0x3FDD97AD00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1655 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1655 - store float 0x3FE77BE3C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1655 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1655 - store float 0x3FE9403560000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1655 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1655 - store float 0x3FCA765700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1655 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1655 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1655 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1655 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1655 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1655 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1655 - call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1655 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300689EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE556_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1658 - store float 0x3FC49BAFC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1658 - store float 0x3FDCD14E80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1658 - store float 0x3FE0E33E00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1658 - store float 0x3FDC20A2E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1658 - store float 0x3FE6495CE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1658 - store float 0x3FDD4F5060000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1658 - store float 0x3FE0FB2020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1658 - store float 0x3FE4B16800000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1658 - store float 0x3FC7A6B1A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1658 - store float 0x3FD499BA60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1658 - store float 0x3FE202A640000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1658 - store float 0x3FEAF67EC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1658 - store float 0x3FDFEF0B60000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1658 - store float 0x3FD016F040000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1658 - store float 0x3FCFBAA5E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1658 - store float 0x3FBFFECBE0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1658 - store float 0x3FC9771180000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1658 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1658 - store float 0x3FE25FF3E0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1658 - store float 0x3FC8707920000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1658 - store float 0x3FCCF963C0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1658 - store float 0x3FD75ABD40000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1658 - store float 0x3FD5C705C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1658 - store float 0x3FEA0B2FE0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1658 - store float 0x3FC858AB40000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1658 - store float 0x3FE1233120000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1658 - store float 0x3FD7FC72E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1658 - store float 0x3FE339EF60000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1658 - store float 0x3FE9D2EB00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1658 - store float 0x3FCBAEBCE0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1658 - store float 0x3FD7B788E0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1658 - store float 0x3FE6F7B5E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1658 - store float 0x3FD32F42A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1658 - store float 0x3FD50B0520000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !1658 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1658 - store float 0x3FBAA72060000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !1658 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1658 - call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !1658 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1658 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300525EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE436_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH34DF, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1661 - call spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iS4_EET_T0_(ptr addrspace(3) noundef %call) #13 - ret ptr addrspace(3) %call1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300677EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300677EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE544_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300973EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1665 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1665 - store float 0x3FEAD20500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1665 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1665 - store float 0x3FD9C00260000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1665 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1665 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1665 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1665 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1665 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1665 - store float 0x3FCFD35220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1665 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1665 - store float 0x3FE9E6D9C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1665 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1665 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1665 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1665 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1665 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1665 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1665 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1665 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1665 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !1665 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1665 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1665 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1665 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2018") align 16 %a1) #2 comdat !srcloc !635 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2018", align 16 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp13, ptr align 16 %a1, i64 16, i1 false) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1668 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1668 - %call2.i = tail call spir_func noundef <3 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi3EEEDv3_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp13) #13, !noalias !1668 - %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_pownDv3_DF16_Dv3_i(<3 x half> noundef %call.i, <3 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300336EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300336EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE335_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300493EiZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE404_EvS5_T1_NS2_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRN4sycl3_V17handlerEE_clESM_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca i32, align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3A68, ptr %agg.tmp.i, align 2, !tbaa.struct !119 - %call.i = call spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - store i32 %call.i, ptr %ref.tmp, align 4, !tbaa !126 - call spir_func void @_ZN16value_operations6assignIiiEENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS2_RKS3_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1624 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300886EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300886EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE665_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300790EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300790EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE613_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300064EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE63_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1671 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1671 - store float 0x3FC3985D60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1671 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1671 - store float 0x3FC577AB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1671 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1671 - store float 0x3FE97197A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1671 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1671 - store float 0x3FC0D61000000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1671 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1671 - store float 0x3FD1ECB540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1671 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1671 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1671 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1671 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1671 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1671 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1671 - call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1671 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !860 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1674 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_tanhDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1677 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300871EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300871EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE654_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !488 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1679 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_expm1Dv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300026EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300026EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE25_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300146EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300146EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE145_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300892EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE671_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2110", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1682 - store <8 x i32> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1682 - call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300604EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE471_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 60220689758208, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1685 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300401EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1824.213, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300401EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1206 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv17initNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !1688 { -entry: - tail call spir_func void @_ZN7__spirv24InitSizesSTNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300100EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE99_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1689 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301077EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE812_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 53967242212743, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1692 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1695 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(10) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300337EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300337EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE336_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp21 = alloca %"struct.std::array.2409", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp21.ascast = addrspacecast ptr %ref.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 44, ptr nonnull %ref.tmp21) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2409") align 4 %ref.tmp21.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm11EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2408") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(44) %ref.tmp21.ascast) #13 - call void @llvm.lifetime.end.p0(i64 44, ptr nonnull %ref.tmp21) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300118EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE117_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1697 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1697 - store float 0x3FC6ED6CA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1697 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1697 - store float 0x3FE5F63C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1697 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1697 - store float 0x3FD3232060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1697 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1697 - store float 0x3FD4F82540000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1697 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1697 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1697 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1697 - store float 0x3FE60B3240000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1697 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1697 - store float 0x3FE4161740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1697 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1697 - store float 0x3FE6317500000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1697 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1697 - store float 0x3FE06428C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1697 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1697 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1697 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1697 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1697 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1697 - call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1697 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300111EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300111EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE110_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm4EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300267EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300267EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE266_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300108EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE107_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1700 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1700 - store float 0x3FE23715A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1700 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1700 - store float 0x3FC1E619C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1700 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1700 - store float 0x3FDA488CC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1700 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1700 - store float 0x3FD261DE40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1700 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1700 - store float 0x3FC57808C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1700 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1700 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1700 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1700 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1700 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1700 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1700 - call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1700 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1703 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1704 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_exp10Dv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %this, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %this, ptr align 2 %res_t, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr addrspace(4) %this, i64 0, i32 1 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %resArg, ptr align 4 %resArg_t, i64 68, i1 false), !tbaa.struct !1707 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i16, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1709 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300007EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE6_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300740EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1710 - store float 0x3FC78443C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1710 - store float 0x3FE6ACCD20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1710 - store float 0x3FE7EF1F40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1710 - store float 0x3FBEFF4200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1710 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1710 - store float 0x3FDB4BE240000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1710 - store float 0x3FD42209E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1710 - store float 0x3FEBAB9C80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1710 - store float 0x3FE6F67880000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1710 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1710 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1710 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1710 - %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1710 - store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1710 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1710 - store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !1710 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1710 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - %0 = load i16, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp4, align 2, !tbaa !99 - %2 = load i16, ptr %a1, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp6, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %4 = load i32, ptr %PartialRes, align 4 - store i32 %4, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1713 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1714 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300166EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300166EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE165_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1716 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300922EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300922EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE701_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1717 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1718 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1718 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_cospiDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1721 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1723 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !1724 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_log10Dv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi8EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { -entry: - %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 - %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 - %splat.splatinsert = insertelement <8 x i32> poison, i32 %call, i64 0 - %splat.splat = shufflevector <8 x i32> %splat.splatinsert, <8 x i32> poison, <8 x i32> zeroinitializer - store <8 x i32> %splat.splat, ptr addrspace(4) %this, align 32, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %X.ascast = addrspacecast ptr %X to ptr addrspace(4) - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %X.ascast, i64 noundef %Start) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %add = add i64 %Start, 1 - %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %X.ascast, i64 noundef %add) #13 - %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300284EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300284EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE283_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300199EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE198_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1727 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300893EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300893EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE672_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1730 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300144EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300144EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE143_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300341EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE340_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 61161270555876, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1732 - store i64 61539140319257, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !1732 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300763EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300763EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE586_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm1EE6_S_refERA1_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(2) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300191EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE190_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1735 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300224EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE223_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1738 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300166EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE165_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1741 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !330 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300993EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE732_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1892.216, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1744 - store float 0x3FE91B73E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1744 - store float 0x3FE793A980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1744 - store float 0x3FC75E08A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1744 - store float 0x3FC0D67240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1744 - store float 0x3FC5BF6D80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1744 - store float 0x3FE3F070A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1744 - store float 0x3FBFFDD1E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1744 - store float 0x3FE1AA92A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1744 - store float 0x3FC7278620000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1744 - store float 0x3FE6F2A340000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1744 - store float 0x3FD4C2CC80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1744 - store float 0x3FD90258E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1744 - store float 0x3FE2638C40000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1744 - store float 0x3FE19AF300000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1744 - store float 0x3FCCF2BF40000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1744 - store float 0x3FE367B600000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1744 - store float 0x3FCC21D3A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1744 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1744 - store float 0x3FEA69F600000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1744 - store float 0x3FD42A6320000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1744 - store float 0x3FE7827D20000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1744 - store float 0x3FE39B8680000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1744 - store float 0x3FEA83EAE0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1744 - store float 0x3FE58AE620000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1744 - store float 0x3FDF86EB80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1744 - store float 0x3FE4C32880000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1744 - store float 0x3FD7A17880000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1744 - store float 0x3FCEA03A40000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1744 - store float 0x3FE7834A80000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1744 - store float 0x3FD02A9F60000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1744 - store float 0x3FE72FA620000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1744 - store float 0x3FE2A20180000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1744 - store float 0x3FC42070A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1744 - store float 0x3FC3412E40000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1744 - store float 0x3FD9D25E60000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !1744 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1744 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1744 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !1744 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1744 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !1744 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !1744 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1744 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300635EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE502_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH35E2, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1747 - call spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300671EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300671EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE538_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300651EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE518_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1750 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !296 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1753 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1753 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !1753 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !1753 - %call3.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_maxmagDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1756 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !243 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1758 - %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_erfDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - %agg.tmp13.sroa.0.0.copyload = load i32, ptr %agg.tmp1, align 4 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1761 - %call.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1761 - store i32 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !1761 - %call2.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !1761 - %call3.i = call spir_func noundef <2 x half> @_Z16__spirv_ocl_fminDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %call) #13 - ret ptr addrspace(1) %call1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1764 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301050EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE785_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm4EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm4EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1766 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1767 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1767 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_floorDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1770 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300473EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2364, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300473EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1771 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2110", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %a1.addr = alloca i32, align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.2110", align 32 - %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call spir_func void @_ZN4sycl3_V13vecIiLi8EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp13, ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp1, i64 32, i1 false) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !1773 - %call2.i = call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp13) #13, !noalias !1773 - %call3.i = call spir_func noundef <8 x half> @_Z17__spirv_ocl_ldexpDv8_DF16_Dv8_i(<8 x half> noundef %call.i, <8 x i32> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300993EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300993EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE732_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1776 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder10createItemILi1ELb1EEENSt9enable_ifIXT0_ENS0_4itemIXT_EXT0_EEEE4typeERKNS0_5rangeIXT_EEERKNS0_2idIXT_EEESG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::item") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index, ptr addrspace(4) noundef align 8 dereferenceable(8) %Offset) #1 comdat align 2 !srcloc !1777 { -entry: - tail call spir_func void @_ZN4sycl3_V14itemILi1ELb1EEC2ILb1EEERNSt9enable_ifIXT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEESE_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index, ptr addrspace(4) noundef align 8 dereferenceable(8) %Offset) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE754_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1778 - store float 0x3FEB66B860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1778 - store float 0x3FC55042C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1778 - store float 0x3FE9F4A340000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1778 - store float 0x3FE0AD9F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1778 - store float 0x3FDBCA04E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1778 - store float 0x3FDA9B3FE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1778 - store float 0x3FC7DD45A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1778 - store float 0x3FE136BE00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1778 - store float 0x3FEA5FFB80000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1778 - store float 0x3FBB2994C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1778 - store float 0x3FEA458280000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1778 - store float 0x3FE6503AA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1778 - store float 0x3FEAF7EAA0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1778 - store float 0x3FDF3D8440000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1778 - store float 0x3FE6FF9500000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1778 - store float 0x3FE643DF20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !1778 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1778 - store float 0x3FE7B61E40000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !1778 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1778 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1778 - call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !1778 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1781 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300046EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE45_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300783EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300783EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE606_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm14EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(28) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(28) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { -entry: - %call = tail call spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iS4_EET_T0_(ptr noundef %call) #13 - ret ptr %call1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300230EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300230EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE229_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300650EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300650EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE517_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1782 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE71_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1783 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1783 - store float 0x3FCC4CF900000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1783 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1783 - store float 0x3FEC75AD00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1783 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1783 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1783 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1783 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1783 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1783 - call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1783 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300086EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE85_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1786 - store float 0x3FDBE49C60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1786 - store float 0x3FC1895D60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1786 - store float 0x3FCA573AE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1786 - store float 0x3FBDCEFE00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1786 - store float 0x3FC4C774A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1786 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1786 - store float 0x3FC44BFC80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1786 - store float 0x3FDBEA7600000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1786 - store float 0x3FE14CC600000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1786 - store float 0x3FE62A9FA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !1786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1786 - store float 0x3FCB5EAD00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !1786 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1786 - call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !1786 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1786 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1790 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !1792 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1793 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !1794 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !971 { -entry: - %0 = load <4 x half>, ptr addrspace(4) %t, align 8, !tbaa !69 - tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IDv4_DF16_vEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, <4 x half> noundef %0) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300795EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE618_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1795 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1795 - store float 0x3FDC364A80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1795 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1795 - store float 0x3FD967B980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1795 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1795 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1795 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1795 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1795 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1795 - store float 0x3FE0834500000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1795 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1795 - store float 0x3FC2BBCD40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1795 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1795 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1795 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1795 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1795 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1795 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1795 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1795 - call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1795 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1795 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1730 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1798 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301032EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301032EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE767_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1799 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300654EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE521_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1801 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1801 - store float 0x3FEBA00040000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1801 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1801 - store float 0x3FE90EA640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1801 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1801 - store float 0x3FC79B54C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1801 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1801 - store float 0x3FDB49FAA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1801 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1801 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1801 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1801 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1801 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1801 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1801 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1801 - call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1801 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1804 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <4 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !971 { -entry: - %call = tail call spir_func noundef <4 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEcvDv4_DF16_Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - ret <4 x half> %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300733EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300733EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE572_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1790 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds i32, ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300474EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1805 - store float 0x3FBC5A9F60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1805 - store float 0x3FBE587980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1805 - store float 0x3FDE3BD520000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1805 - store float 0x3FE54EEBE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1805 - store float 0x3FEB8B9B80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1805 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1805 - store i32 -25129, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1805 - store i32 -18503, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1805 - store i32 16878, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1805 - store i32 -19727, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1805 - store i32 20942, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !1805 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1805 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1805 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1805 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1805 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !1805 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1805 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm15EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(60) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(60) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300281EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE280_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1808 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1808 - store float 0x3FE33F7E00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1808 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1808 - store float 0x3FE03F7AE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1808 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1808 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1808 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1808 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1808 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1808 - call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1808 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1811 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300015EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE14_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1812 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1815 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301024EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE759_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300489EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300489EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE400_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300035EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE34_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !548 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1817 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_rintDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300185EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE184_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1820 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1820 - store float 0x3FDCB99A40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1820 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1820 - store float 0x3FDE85A5A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1820 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1820 - store float 0x3FD1EBF580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1820 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1820 - store float 0x3FDA9D9DA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1820 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1820 - store float 0x3FE3B801C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1820 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1820 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1820 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1820 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1820 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1820 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1820 - call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1820 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300520EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE431_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1823 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1823 - store float 0x3FEACB2C40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1823 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1823 - store float 0x3FCE745CA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1823 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1823 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1823 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1823 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1823 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1823 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, i32 noundef 30982) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1823 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1633 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300196EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300196EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE195_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1826 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300232EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE231_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1827 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300139EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE138_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1830 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1830 - store float 0x3FEA40FD60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1830 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1830 - store float 0x3FE14A9E80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1830 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1830 - store float 0x3FEC3836A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1830 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1830 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1830 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1830 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1830 - call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1830 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300305EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE304_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1833 - store float 0x3FC88CA5A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1833 - store float 0x3FEACD05E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1833 - store float 0x3FDEF78980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1833 - store float 0x3FE4E92B80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1833 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1833 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1833 - store float 0x3FE2917C20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1833 - store float 0x3FE2B1A780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1833 - store float 0x3FE55FAD60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !1833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1833 - store float 0x3FC5E48640000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !1833 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1833 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1833 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1833 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !1833 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !1833 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1833 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300143EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE142_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH388D, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1836 - store half 0xH3969, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1836 - call spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1839 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE18_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1840 - store float 0x3FC8CB67C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1840 - store float 0x3FD1B00540000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1840 - store float 0x3FE78A9440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1840 - store float 0x3FD76D0480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1840 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1840 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1840 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1840 - call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1840 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300970EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1748.209, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 - store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300970EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300489EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE400_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1843 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1843 - store float 0x3FD7430CC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1843 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1843 - store float 0x3FEAB4FF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1843 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1843 - store float 0x3FD0A04B20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1843 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1843 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1843 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1843 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1843 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !1843 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1843 - store float 0x3FC9C870A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1843 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1843 - store float 0x3FE3161860000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1843 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1843 - store float 0x3FDA8F0800000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1843 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1843 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1843 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1843 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1843 - call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !1843 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1843 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.2215", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300341EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300341EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE340_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1846 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1848 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300298EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300298EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE297_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300663EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE530_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1849 - store float 0x3FE24E8280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1849 - store float 0x3FD4200A00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1849 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1849 - store float 0x3FE930C4C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1849 - store float 0x3FE09172E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1849 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_2.i) #13, !noalias !1849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1849 - store float 0x3FE3DA5FE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1849 - store float 0x3FE9142780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1849 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1849 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1849 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1849 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1849 - store i32 %1, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !1849 - %2 = load i32, ptr %inputData_2.i, align 4, !tbaa !69, !noalias !1849 - store i32 %2, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !1849 - call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_2.i) #13, !noalias !1849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1852 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1853 - %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_sinDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300773EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE596_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1856 - store float 0x3FE56E8560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1856 - store float 0x3FE40920A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1856 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1856 - store float 0x3FD7E6D860000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1856 - store float 0x3FE49B3520000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1856 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1856 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1856 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1856 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !1856 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !1856 - call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !1856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1859 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1860 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1861 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !1861 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_rsqrtDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300581EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1864 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1864 - store float 0x3FDA25EB80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1864 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1864 - store float 0x3FD18BBA20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1864 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1864 - store float 0x3FDC0AAFA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1864 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1864 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1864 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1864 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1864 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1864 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1864 - store i32 -24315, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !1864 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1864 - store i32 -20605, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1864 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1864 - store i32 7972, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1864 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1864 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1864 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1864 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1864 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1864 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1864 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1864 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1864 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1864 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1864 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1864 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a2) #2 comdat !srcloc !1459 { -entry: - %agg.tmp25 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp14 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp3 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - %agg.tmp2.sroa.0.0.copyload = load <16 x half>, ptr %a2, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp14) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp25) - store <16 x half> %agg.tmp2.sroa.0.0.copyload, ptr %agg.tmp25, align 32 - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp14, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp3, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp3) #13, !noalias !1867 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp14) #13, !noalias !1867 - %call4.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp25) #13, !noalias !1867 - %call5.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_fmaDv16_DF16_S_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i, <16 x half> noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp14) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp25) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffEE6CreateERKfSA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp9 = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp9.ascast = addrspacecast ptr %ref.tmp9 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp9) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffEE6CreateERKfSA_SA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp9.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm5EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp9.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp9) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1591 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !596 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1870 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1870 - %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_cosDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300904EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300904EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE683_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300755EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300755EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1873 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !1875 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1876 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !1877 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300855EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2270, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300855EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1878 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300300EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE299_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1879 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !1879 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300397EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300397EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1184 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3DF16_PU3AS3NS1_9half_impl4halfEEET_T0_(ptr addrspace(3) noundef %call) #13 - ret ptr addrspace(3) %call1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300289EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300289EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE288_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300879EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE658_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 56466883950663, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1882 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300115EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE114_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1885 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1885 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm5EE6_S_refERA5_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(10) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [5 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300978EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1888 - store float 0x3FE9F293E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1888 - store float 0x3FD9EC8740000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1888 - store float 0x3FC23F85A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1888 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1888 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1888 - store float 0x3FD88CD9A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1888 - store float 0x3FC3EFDF00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1888 - store float 0x3FDC219E20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1888 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1888 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1888 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !1888 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1888 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1888 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1888 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1888 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1888 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1892 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300673EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE540_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1893 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !1893 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300795EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300795EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE618_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1897 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1897 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !1897 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !1897 - %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS3i(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !1897 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300857EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300857EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1900 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !1902 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !1903 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !1904 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %t) #1 comdat !srcloc !84 { -entry: - %t.addr = alloca i32, align 4 - %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) - store i32 %t, ptr %t.addr, align 4, !tbaa !126 - %call = call spir_func noundef i32 @_ZN4sycl3_V16detail20ConvertNonVectorTypeIiiEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS4_(ptr addrspace(4) noundef align 4 dereferenceable(4) %t.addr.ascast) #13 - ret i32 %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300316EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300316EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE315_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300875EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300875EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300156EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300156EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE155_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIN4sycl3_V16detail9half_impl4halfEEPU3AS1T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr addrspace(1) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !1905 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !1906 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !1906 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_acosDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm4EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args31) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args31) #13 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIS4_Lm17EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300253EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE252_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH2E9D, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1909 - call spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300250EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE249_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1912 - store float 0x3FD7B697E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1912 - store float 0x3FE4BF5880000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1912 - store float 0x3FCD834920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1912 - store float 0x3FE177F860000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1912 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1912 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1912 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1912 - call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1912 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300293EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300293EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE292_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1915 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300114EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300114EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE113_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300465EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE388_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.2307.234, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1916 - store float 0x3FD550E300000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1916 - store float 0x3FECA01BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1916 - store float 0x3FD8F34600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1916 - store float 0x3FE969DE60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1916 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1916 - store i32 -31840, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1916 - store i32 -14704, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1916 - store i32 31378, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1916 - store i32 11200, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1916 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1916 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !1916 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !1916 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1916 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1916 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1916 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !1916 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !1916 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !1916 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !1916 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1916 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300034EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE33_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300931EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300931EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE710_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300246EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE245_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1919 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300606EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300606EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE473_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300408EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300408EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIS4_Lm5EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, ptr addrspace(4) noundef align 2 dereferenceable(10) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 1) #13 - %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element3 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 2 - %call4 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 2) #13 - %3 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element3, align 2, !tbaa !99 - %arrayinit.element5 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 3 - %call6 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 3) #13 - %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element5, align 2, !tbaa !99 - %arrayinit.element7 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 4 - %call8 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %Arr, i64 noundef 4) #13 - %5 = load i16, ptr addrspace(4) %call8, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element7, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300043EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300043EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE42_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300055EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE54_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3A54, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1923 - call spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300167EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300167EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE166_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE785_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1926 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1926 - store float 0x3FCF27BCA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1926 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1926 - store float 0x3FE3A241E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1926 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1926 - store float 0x3FE8EFE920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1926 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1926 - store float 0x3FE9507720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1926 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1926 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1926 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1926 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1926 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1926 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1926 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1926 - call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1926 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300394EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1929 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1929 - store float 0x3FC69C32A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1929 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1929 - store float 0x3FDF6689A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1929 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1929 - store float 0x3FD795E000000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1929 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !1929 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1929 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1929 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1929 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1929 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1929 - store float 0x3FEA020A20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1929 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1929 - store float 0x3FD0CD5420000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1929 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1929 - store float 0x3FD1DB83E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !1929 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !1929 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1929 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1929 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1929 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1929 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1929 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1929 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !1929 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1929 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1929 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !1929 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !628 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1932 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !1932 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_floorDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp9, align 2, !tbaa !99 - %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp11, align 2, !tbaa !99 - %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a2.ascast, i64 noundef 16) #13 - %2 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp13, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 - %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call15, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a2, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %4 = load i32, ptr %PartialRes, align 4 - store i32 %4, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !1935 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301062EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE797_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(4) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef nonnull align 4 dereferenceable(12) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1936 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300914EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE693_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !1937 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [4 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300062EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE61_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm4EE6_S_refERA4_Kim(ptr addrspace(4) noundef align 4 dereferenceable(16) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm4EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(16) %left, ptr addrspace(4) noundef align 4 dereferenceable(16) %right) #1 comdat !srcloc !145 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm4EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !1940 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300922EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE701_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !1941 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300616EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300616EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE483_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300203EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE202_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !1944 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args31) #4 comdat align 2 !srcloc !1947 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.2391", align 4 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2391") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args31) #13 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIiLm17EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, ptr addrspace(4) noundef align 4 dereferenceable(68) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300592EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1948 - store float 0x3FD9CC36C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1948 - store float 0x3FDABAF1C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1948 - store float 0x3FE0A0CE00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1948 - store float 0x3FC0785E20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1948 - store float 0x3FEB21E7E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !1948 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1948 - store i32 -13937, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1948 - store i32 -11826, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1948 - store i32 1601, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1948 - store i32 -11397, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1948 - store i32 -10644, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !1948 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !1948 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1948 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !1948 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !1948 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !1948 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !1948 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1095 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1951 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !1951 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_erfcDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300780EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE603_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2018", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store i64 56874799282793, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1954 - call void @llvm.memcpy.p0.p1.i64(ptr align 16 %agg.tmp2.i, ptr addrspace(1) align 16 @__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE603_clEv.inputData_1, i64 16, i1 false), !noalias !1954 - call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a2) #2 comdat !srcloc !902 { -entry: - %agg.tmp25 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp14 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp3 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - %agg.tmp2.sroa.0.0.copyload = load <8 x half>, ptr %a2, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp14) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp25) - store <8 x half> %agg.tmp2.sroa.0.0.copyload, ptr %agg.tmp25, align 16 - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp14, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp3, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp3) #13, !noalias !1957 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp14) #13, !noalias !1957 - %call4.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp25) #13, !noalias !1957 - %call5.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_madDv8_DF16_S_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i, <8 x half> noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp14) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp25) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(6) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1960 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300465EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300465EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE388_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300283EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300283EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE282_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1961 - ret ptr addrspace(1) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.135.14") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(28) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 7) #13 - %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 - %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 8) #13 - %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 - store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 - %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 9) #13 - %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 - store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 - %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 10) #13 - %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 - store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 - %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 11) #13 - %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 - store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 - %arrayinit.element24 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 13 - %call25 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 12) #13 - %15 = load i16, ptr addrspace(4) %call25, align 2, !tbaa !99 - store i16 %15, ptr addrspace(4) %arrayinit.element24, align 2, !tbaa !99 - %arrayinit.element26 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 14 - %call27 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %A2, i64 noundef 13) #13 - %16 = load i16, ptr addrspace(4) %call27, align 2, !tbaa !99 - store i16 %16, ptr addrspace(4) %arrayinit.element26, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300331EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300331EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE330_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300652EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE519_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1963 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1963 - store float 0x3FD0C238A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1963 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1963 - store float 0x3FEA57F8E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1963 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !1963 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1963 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1963 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !1963 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !1963 - call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !1963 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300737EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300737EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE29_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1966 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1966 - store float 0x3FBC259F00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1966 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1966 - store float 0x3FE62F2E80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1966 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1966 - store float 0x3FD7995360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1966 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1966 - store float 0x3FC17AB4C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1966 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1966 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1966 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1966 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1966 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1966 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1966 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1966 - call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1966 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300873EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2422, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300873EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300907EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE686_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1969 - store float 0x3FE0B450E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !1969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1969 - store float 0x3FEC109DE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !1969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1969 - store float 0x3FD52F0F60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !1969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1969 - store float 0x3FC0534F40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !1969 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !1969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !1969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !1969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !1969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !1969 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !1969 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1969 - call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !1969 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300233EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE232_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 63875715053704, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !1972 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300513EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300513EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE424_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1975 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(8) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE35_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !1977 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300481EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300481EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300109EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300109EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE108_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300124EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300124EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE123_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1980 - ret ptr %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1982 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1984 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1986 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300767EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE590_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH31A0, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1988 - store half 0xH3802, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !1988 - call spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr addrspace(4) noundef align 32 dereferenceable(32) %t) #1 comdat !srcloc !971 { -entry: - %0 = load <16 x half>, ptr addrspace(4) %t, align 32, !tbaa !69 - tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IDv16_DF16_vEES7_(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %agg.result, <16 x half> noundef %0) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !774 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !1991 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_acosDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !1994 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300646EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE513_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH399C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !1995 - call spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1998 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300663EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300663EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE530_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300610EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE477_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2000 - store float 0x3FE3B739C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2000 - store float 0x3FC2256700000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2000 - store float 0x3FE5584D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2000 - store float 0x3FCA8C7D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2000 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2000 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2000 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2000 - call spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2000 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm2EE4sizeEv() #1 comdat align 2 !srcloc !325 { -entry: - ret i64 2 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1255 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2003 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2003 - %call3.i = tail call spir_func noundef <16 x half> @_Z21__spirv_ocl_nextafterDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1354 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !2006 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !2007 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !2006 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { -entry: - %arrayidx = getelementptr inbounds [3 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300532EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE443_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2009 - store float 0x3FE0E38D80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2009 - store float 0x3FE3EB2720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2009 - store float 0x3FD7DB59A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2009 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2009 - call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2009 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !967 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2012 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fabsDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300746EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1862.215, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300746EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm13EE6_S_refERA13_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(26) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [13 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300126EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300126EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE125_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300053EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE52_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2015 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2015 - store float 0x3FD9A116C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2015 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2015 - store float 0x3FEC261460000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2015 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2015 - store float 0x3FE38E2780000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2015 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2015 - store float 0x3FC38A9DE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2015 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2015 - store float 0x3FC5785CA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2015 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2015 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2015 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2015 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2015 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2015 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2015 - call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2015 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300622EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300622EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE489_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !2018 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2019 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2019 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_cbrtDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301074EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE809_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !256 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300864EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp15.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2023 - store float 0x3FC1B7BF20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2023 - store float 0x3FD1CDF160000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2023 - store float 0x3FE5BC42C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2023 - store float 0x3FE7ADD080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2023 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2023 - store float 0x3FE4DD9980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2023 - store float 0x3FC2BA1AA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2023 - store float 0x3FE7B9EBC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2023 - store float 0x3FE851F4C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2023 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2023 - store i32 7174, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2023 - store i32 27916, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2023 - store i32 -289, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2023 - store i32 13607, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !2023 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2023 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2023 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2023 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2023 - store i64 %0, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !2023 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !2023 - store i64 %1, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !2023 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2023 - store i64 %2, ptr %agg.tmp15.i, align 8, !tbaa !128, !noalias !2023 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp15.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2023 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2026 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2027 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2028 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2029 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300880EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE659_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2030 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300766EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300766EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE589_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300328EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE327_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2033 - store float 0x3FECAA1440000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2033 - store float 0x3FE08C81C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2033 - store float 0x3FDC19D2A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2033 - store float 0x3FE5C6DE00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2033 - store float 0x3FD9CC0060000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2033 - store float 0x3FC06EDB00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2033 - store float 0x3FDCF90E40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2033 - store float 0x3FD5229340000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2033 - store float 0x3FE4208440000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2033 - store float 0x3FE0AF13A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2033 - store float 0x3FE87354C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2033 - store float 0x3FDF737AC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2033 - store float 0x3FCCB51960000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2033 - store float 0x3FCC045FA0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2033 - store float 0x3FE1DBF180000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2033 - store float 0x3FD3F62800000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2033 - store float 0x3FD13BDFC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2033 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2033 - store float 0x3FEB4F4460000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2033 - store float 0x3FCB105E20000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2033 - store float 0x3FEAA6C280000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2033 - store float 0x3FE0ED6BC0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2033 - store float 0x3FEB2F5260000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2033 - store float 0x3FE8ADE320000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2033 - store float 0x3FD5B3DB80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2033 - store float 0x3FDE795C80000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2033 - store float 0x3FC5887160000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2033 - store float 0x3FD92C6F40000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2033 - store float 0x3FEAEC99A0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2033 - store float 0x3FC7247220000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2033 - store float 0x3FD2FA0440000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2033 - store float 0x3FC12CD900000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2033 - store float 0x3FE93CB960000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2033 - store float 0x3FE4B328E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2033 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2033 - store float 0x3FE2498860000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2033 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2033 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2033 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2033 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300619EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE486_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2036 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2036 - store float 0x3FDECE1D80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2036 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2036 - store float 0x3FE022F800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2036 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2036 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2036 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2036 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2036 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2036 - call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2036 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300631EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE498_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2039 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2039 - store float 0x3FE8E045A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2039 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2039 - store float 0x3FD7C43700000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2039 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2039 - store float 0x3FD5466A40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2039 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2039 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2039 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2039 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2039 - call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2039 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300287EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300287EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE286_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300762EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300762EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE585_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm2EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300175EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300175EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE174_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2042 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2044 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %X.ascast = addrspacecast ptr %X to ptr addrspace(4) - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %X.ascast, i64 noundef %Start) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %add = add i64 %Start, 1 - %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %X.ascast, i64 noundef %add) #13 - %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2046 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !280 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2047 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_ceilDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300738EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300738EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE573_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300674EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE541_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2050 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2050 - store float 0x3FE63D3AA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2050 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2050 - store float 0x3FEA87E1A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2050 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2050 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2050 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2050 - store float 0x3FE47CCC80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2050 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2050 - store float 0x3FD69C2640000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2050 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2050 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2050 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2050 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !2050 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2050 - call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2053 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2055 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2055 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2055 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2064", align 16 - %a1.addr = alloca i32, align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.2064", align 16 - %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V13vecIiLi4EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp13, ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp1, i64 16, i1 false) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2056 - %call.i = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2056 - %call2.i = call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp13) #13, !noalias !2056 - %call3.i = call spir_func noundef <4 x half> @_Z17__spirv_ocl_ldexpDv4_DF16_Dv4_i(<4 x half> noundef %call.i, <4 x i32> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE78_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 60946552993610, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2059 - store i64 53155339516378, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2059 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300860EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE651_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp14.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp15.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.2307.234, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2062 - store float 0x3FE0A4F020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2062 - store float 0x3FE9EAC680000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2062 - store float 0x3FCE7D40E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2062 - store float 0x3FE4B89E60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2062 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2062 - store float 0x3FE3E1F600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2062 - store float 0x3FE37BC8C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2062 - store float 0x3FD305BA00000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2062 - store float 0x3FDB92BFE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2062 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2062 - store i32 -8756, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2062 - store i32 -11950, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2062 - store i32 214, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2062 - store i32 -17941, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !2062 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2062 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2062 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2062 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2062 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2062 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !2062 - store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !2062 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2062 - store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !128, !noalias !2062 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp14.i) #14, !noalias !2062 - %3 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2062 - store i64 %3, ptr %agg.tmp15.i, align 8, !tbaa !69, !noalias !2062 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp15.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2062 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2065 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2067 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2067 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2067 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300780EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300780EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE603_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2068 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm3EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300223EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE222_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2069 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2072 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2074 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2075 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2076 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300917EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE696_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2077 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2077 - store float 0x3FE55C54C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2077 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2077 - store float 0x3FEAB8A140000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2077 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2077 - store float 0x3FE19CF9A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2077 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2077 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2077 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2077 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2077 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2077 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1479 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2080 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2081 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2082 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm2EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300968EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300968EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE723_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !716 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2083 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_atanDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300615EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE482_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 53984422278060, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2086 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !168 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2089 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2089 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2089 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2089 - %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fminDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300283EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE282_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2092 - store float 0x3FD93114A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2092 - store float 0x3FEBDECF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2092 - store float 0x3FE00B78A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2092 - store float 0x3FE4D1EEC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2092 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2092 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2092 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2092 - call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2092 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1027 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2095 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2096 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2097 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2098 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2100 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2100 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2100 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2101 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2103 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !2105 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2106 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2106 - %call1.i = tail call spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %a1) #13, !noalias !2106 - %call2.i = tail call spir_func noundef half @_Z16__spirv_ocl_pownDF16_i(half noundef %call.i, i32 noundef %call1.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(20) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv28InitSizesSTLocalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !2109 { -entry: - %call = tail call spir_func noundef i64 @_ZN7__spirvL20getLocalInvocationIdILi0EEEmv() #13 - tail call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300076EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE75_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2110 - store float 0x3FDA07E280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2110 - store float 0x3FE7138BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2110 - store float 0x3FDF811E40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2110 - store float 0x3FE9C2BC00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2110 - store float 0x3FE2D1AE40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2110 - store float 0x3FDE51EEA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2110 - store float 0x3FE3631FC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2110 - store float 0x3FD7B2DE80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2110 - store float 0x3FC987DFA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2110 - store float 0x3FE4AC39E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2110 - store float 0x3FE31FC8E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2110 - store float 0x3FE7632640000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2110 - store float 0x3FC9D0E3C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2110 - store float 0x3FEA8AA9C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2110 - store float 0x3FE7A9C340000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2110 - store float 0x3FEAAC1D00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2110 - store float 0x3FE9897180000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2110 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2110 - call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2110 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2113 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300673EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300673EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE540_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !2115 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2116 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_coshDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300580EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2270, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300580EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300793EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE616_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2119 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2119 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !655 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2122 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2122 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_asinhDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !235 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2125 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_roundDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300344EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300344EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE343_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300921EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE700_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3AC0, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2128 - call spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2131 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2132 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300083EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE82_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2133 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm6EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(24) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(24) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2135 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300972EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300972EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300851EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp9.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2136 - store float 0x3FE1228FA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2136 - store float 0x3FD3694360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2136 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2136 - store float 0x3FDF19E3E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2136 - store float 0x3FD844B820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2136 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2136 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2136 - store i32 31309, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2136 - store i32 21607, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2136 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2136 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2136 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2136 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2136 - store i32 %0, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !2136 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !2136 - store i32 %1, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !2136 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2136 - store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2136 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2136 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %3 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %3, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi2EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { -entry: - %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 - %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 - %splat.splatinsert = insertelement <2 x i32> poison, i32 %call, i64 0 - %splat.splat = shufflevector <2 x i32> %splat.splatinsert, <2 x i32> poison, <2 x i32> zeroinitializer - store <2 x i32> %splat.splat, ptr addrspace(4) %this, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp6 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - %2 = load i32, ptr %a2, align 2, !tbaa !69 - store i32 %2, ptr %agg.tmp6, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300770EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE593_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2139 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !2139 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2142 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2143 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm6EE6_S_refERA6_Kim(ptr addrspace(4) noundef align 4 dereferenceable(24) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [6 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300907EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300907EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE686_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300416EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE371_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.1936.218, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2144 - store i32 8323, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !2144 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2144 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2144 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2144 - store half 0xH39DC, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2144 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2144 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !2144 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !2144 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !2144 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !2144 - %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !2144 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, i32 noundef %2) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2144 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2144 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2144 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 4, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 - %4 = load i32, ptr %resArg, align 4, !tbaa !1180 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp9, align 2, !tbaa !99 - %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp11, align 2, !tbaa !99 - %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a2.ascast, i64 noundef 4) #13 - %2 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp13, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 - %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call15, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a2, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %4 = load i32, ptr %PartialRes, align 4 - store i32 %4, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2147 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300312EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300312EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE311_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2148 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300248EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE247_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2149 - store float 0x3FE695DAE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2149 - store float 0x3FDC2FDFA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2149 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2149 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2149 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2149 - call spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300936EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300936EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2152 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2153 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !783 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2154 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2154 - %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_expDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !911 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2157 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2157 - %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_lgammaDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm12EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(48) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(48) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm11EE6_S_refERA11_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(22) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [11 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %left, ptr addrspace(4) noundef align 2 dereferenceable(10) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !2160 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300235EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE234_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2161 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300270EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300270EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE269_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm13EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(26) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(26) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300607EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300607EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE474_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300789EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300789EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE612_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300935EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2164 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2164 - store half 0xH3987, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2164 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2164 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2164 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2164 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { -entry: - %call = tail call spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0DF16_PU3AS0NS1_9half_impl4halfEEET_T0_(ptr noundef %call) #13 - ret ptr %call1 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1982 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2167 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2168 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300051EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE50_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE736_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2169 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - %0 = load i16, ptr %res_t, align 2, !tbaa !99 - store i16 %0, ptr addrspace(4) %this, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load i16, ptr %resArg_t, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %resArg, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm14EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(56) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm14EE6_S_refERA14_Kim(ptr addrspace(4) noundef align 4 dereferenceable(56) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm3EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300900EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300900EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE679_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm17EE6_S_refERA17_Kim(ptr addrspace(4) noundef align 4 dereferenceable(68) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300977EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1786.211, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300977EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !449 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1723 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2172 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2172 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_log10Dv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { -entry: - %arrayidx = getelementptr inbounds [5 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm5EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !740 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE770_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2175 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300889EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300889EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE668_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300087EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE86_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2178 - store float 0x3FDC041CC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2178 - store float 0x3FE3819EE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2178 - store float 0x3FC5756080000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2178 - store float 0x3FDD2CA100000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2178 - store float 0x3FD94E5020000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2178 - store float 0x3FEB7E1EC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2178 - store float 0x3FC2B97D60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2178 - store float 0x3FDB525880000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2178 - store float 0x3FDBC30EC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2178 - store float 0x3FE5D76760000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2178 - store float 0x3FD6D17FC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2178 - store float 0x3FD0D82420000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2178 - store float 0x3FD56AE500000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2178 - store float 0x3FDE826AC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2178 - store float 0x3FEB86E0E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2178 - store float 0x3FE7974100000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2178 - store float 0x3FD494B460000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2178 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2178 - store float 0x3FE17D4C80000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2178 - store float 0x3FE4D163C0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2178 - store float 0x3FE7919E60000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2178 - store float 0x3FDD3E5DA0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2178 - store float 0x3FDAD13FA0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2178 - store float 0x3FE6DA02A0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2178 - store float 0x3FDC80FEA0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2178 - store float 0x3FD3186E40000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2178 - store float 0x3FDD9DD220000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2178 - store float 0x3FEB309BE0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2178 - store float 0x3FCB661F00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2178 - store float 0x3FDE13A200000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2178 - store float 0x3FE383D520000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2178 - store float 0x3FDF24F3C0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2178 - store float 0x3FD0D38C80000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2178 - store float 0x3FB9FA3C20000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2178 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2178 - store float 0x3FE5181CC0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2178 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2178 - call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2178 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2178 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300726EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300726EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE569_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #4 comdat align 2 !srcloc !1947 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.2344", align 4 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #13 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJLm0ELm1ELm2ELm3ELm4EEEERKSt5arrayIiLm5EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, ptr addrspace(4) noundef align 4 dereferenceable(20) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1095 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2181 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_erfcDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300315EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE314_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2184 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2184 - store float 0x3FCB7CBB40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2184 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2184 - store float 0x3FD1015240000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2184 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2184 - store float 0x3FE1FBC9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2184 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2184 - store float 0x3FBA4A8700000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2184 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2184 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2184 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2184 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2184 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2184 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2184 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2184 - store half 0xH3275, ptr %agg.tmp5.i, align 2, !tbaa.struct !119, !noalias !2184 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2184 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301071EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE806_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2187 - store float 0x3FC85387E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2187 - store float 0x3FE17731C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2187 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2187 - store float 0x3FE481A220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2187 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2187 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2187 - call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2187 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this) #4 comdat align 2 !srcloc !569 { -entry: - tail call void @llvm.memset.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %this, i8 0, i64 68, i1 false) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300404EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE367_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1854.214, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2190 - store float 0x3FC0BAD620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2190 - store float 0x3FE9901A60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2190 - store float 0x3FDC983E40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2190 - store float 0x3FE8D9CF20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2190 - store float 0x3FE9A0A5A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2190 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2190 - store float 0x3FE6104040000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2190 - store float 0x3FDEA80760000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2190 - store float 0x3FE08E7680000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2190 - store float 0x3FE275A920000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2190 - store float 0x3FDAA67E00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2190 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2190 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2190 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2190 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2190 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !2190 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !2190 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2190 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm5EE6_S_refERA5_Kim(ptr addrspace(4) noundef align 4 dereferenceable(20) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300809EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE632_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2193 - store float 0x3FEB445660000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2193 - store float 0x3FD6340E40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2193 - store float 0x3FEB526900000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2193 - store float 0x3FE4B5E7E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2193 - store float 0x3FDC306960000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2193 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2193 - store float 0x3FE6E15A80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2193 - store float 0x3FD5F1CA80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2193 - store float 0x3FD9360080000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2193 - store float 0x3FE8A2AE40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2193 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2193 - store float 0x3FEC595AE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2193 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2193 - call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2193 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2193 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300531EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE442_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2196 - store float 0x3FCAC84CC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2196 - store float 0x3FD5F309E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2196 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2196 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2196 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2196 - call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <8 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEcvDv8_DF16_Ev(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this) #1 comdat align 2 !srcloc !207 { -entry: - %0 = load <8 x half>, ptr addrspace(4) %this, align 16, !tbaa !69 - ret <8 x half> %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300065EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE64_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2199 - store float 0x3FC0F5F1C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2199 - store float 0x3FBCBAFB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2199 - store float 0x3FE8CE2440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2199 - store float 0x3FD7539100000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2199 - store float 0x3FCD413180000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2199 - store float 0x3FCC0A0380000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2199 - store float 0x3FE3FEE8E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2199 - store float 0x3FEBFF0180000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2199 - store float 0x3FE020C420000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2199 - store float 0x3FEA449620000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2199 - store float 0x3FE00FEA80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2199 - store float 0x3FE1E42180000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2199 - store float 0x3FE4924900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2199 - store float 0x3FE7CF91A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2199 - store float 0x3FE699D280000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2199 - store float 0x3FEC8EC120000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2199 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2199 - store float 0x3FE6528320000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2199 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2199 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2199 - call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2199 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300488EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300488EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE399_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300811EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300811EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE634_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2202 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300275EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE274_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3A39, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2203 - call spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300481EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2206 - store float 0x3FE7053EC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2206 - store float 0x3FE11A1960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2206 - store float 0x3FDB6D3EE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2206 - store float 0x3FDB811AC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2206 - store float 0x3FDC2BCF80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2206 - store float 0x3FE157C960000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2206 - store float 0x3FD2E589E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2206 - store float 0x3FEC3799A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2206 - store float 0x3FE93897C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2206 - store float 0x3FD7A76B40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2206 - store float 0x3FE0D10560000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2206 - store float 0x3FE3CDBBE0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2206 - store float 0x3FDFA88B00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2206 - store float 0x3FCE794700000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2206 - store float 0x3FE3AE4E00000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2206 - store float 0x3FE446C440000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2206 - store float 0x3FE239F040000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2206 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2206 - store i32 28697, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2206 - store i32 14971, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2206 - store i32 -19931, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2206 - store i32 -32525, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2206 - store i32 11867, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2206 - store i32 12763, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2206 - store i32 27437, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2206 - store i32 -12976, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2206 - store i32 3125, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2206 - store i32 -26062, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2206 - store i32 -24549, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2206 - store i32 26429, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2206 - store i32 -9056, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2206 - store i32 31956, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2206 - store i32 6742, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2206 - store i32 -12814, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2206 - store i32 -11788, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !2206 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2206 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2206 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2206 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2206 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !2206 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2206 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1616 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2209 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2210 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2211 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300407EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2213 - store float 0x3FE1C71FC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2213 - store float 0x3FE0E9EA20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2213 - store float 0x3FD174A6A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2213 - store float 0x3FE6348DC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2213 - store float 0x3FEC6BB160000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2213 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2213 - store float 0x3FE5895C00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2213 - store float 0x3FE787B160000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2213 - store float 0x3FE6FB6880000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2213 - store float 0x3FE7F2EE80000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2213 - store float 0x3FCD248680000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2213 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2213 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2213 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2213 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2213 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !2213 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2213 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2217 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300592EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2364, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300592EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1407 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2219 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2219 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2219 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp9 = alloca %"class.sycl::_V1::marray.2344", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp9.ascast = addrspacecast ptr %ref.tmp9 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %ref.tmp9) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %ref.tmp9.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm5EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(20) %ref.tmp9.ascast) #13 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %ref.tmp9) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300411EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE370_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1892.216, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2220 - store float 0x3FE355A8C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2220 - store float 0x3FE8A33CC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2220 - store float 0x3FD0A38D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2220 - store float 0x3FDDD5E1A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2220 - store float 0x3FCFA55160000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2220 - store float 0x3FD07F2440000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2220 - store float 0x3FC0741FE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2220 - store float 0x3FC9011520000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2220 - store float 0x3FE6969240000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2220 - store float 0x3FD74B2320000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2220 - store float 0x3FD600D3C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2220 - store float 0x3FCB88A120000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2220 - store float 0x3FE1F49360000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2220 - store float 0x3FDBA70320000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2220 - store float 0x3FC27588E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2220 - store float 0x3FD9FD0A20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2220 - store float 0x3FE7DFF1E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2220 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2220 - store float 0x3FE692C920000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2220 - store float 0x3FEC274020000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2220 - store float 0x3FE926C0C0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2220 - store float 0x3FDFE1BAC0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2220 - store float 0x3FE77C1DA0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2220 - store float 0x3FE74E5320000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2220 - store float 0x3FDB64B000000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2220 - store float 0x3FDA38D700000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2220 - store float 0x3FE189D6A0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2220 - store float 0x3FDD0F2520000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2220 - store float 0x3FE325B060000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2220 - store float 0x3FE8085720000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2220 - store float 0x3FEAB9C220000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2220 - store float 0x3FE3AB4DE0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2220 - store float 0x3FE0A294C0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2220 - store float 0x3FD1734200000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2220 - store float 0x3FDADBBBA0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2220 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2220 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2220 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2220 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2220 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !2220 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !2220 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2220 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !280 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2223 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_ceilDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300749EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300749EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2226 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !168 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2227 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2227 - %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fminDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2230 - %call.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2230 - store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2230 - %call2.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2230 - %call7.i = call spir_func noundef <3 x half> @_Z16__spirv_ocl_fmaxDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %left, ptr addrspace(4) noundef align 2 dereferenceable(2) %right) #1 comdat !srcloc !2233 { -entry: - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %left, ptr addrspace(4) noundef align 2 dereferenceable(2) %right) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300131EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300131EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE130_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.2215", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300508EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300508EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE419_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300096EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE95_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2234 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2234 - store float 0x3FE1E4D8E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2234 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2234 - store float 0x3FE3413900000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2234 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2234 - store float 0x3FE0CD9FE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2234 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2234 - store float 0x3FDB6EE5A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2234 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2234 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2234 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2234 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2234 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2234 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2234 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2234 - call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2234 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300150EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE149_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2237 - store float 0x3FE345A640000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2237 - store float 0x3FDFD88B20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2237 - store float 0x3FE5E95A40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2237 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2237 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2237 - store float 0x3FD328A440000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2237 - store float 0x3FEA0766A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2237 - store float 0x3FD473F7C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2237 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2237 - call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2237 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2237 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300082EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE81_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2240 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !2240 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300816EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300816EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp5 = alloca %"class.sycl::_V1::marray.2250", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp5) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp5.ascast) #13 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp5) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2156") align 64 %a1) #2 comdat !srcloc !1202 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2156", align 64 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x i32>, ptr %a1, align 64, !tbaa.struct !689 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp13) - store <16 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 64 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2243 - %call2.i = tail call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp13) #13, !noalias !2243 - %call3.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_rootnDv16_DF16_Dv16_i(<16 x half> noundef %call.i, <16 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1703 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2246 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2246 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_exp10Dv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300242EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300242EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE241_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300282EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE281_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2249 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2249 - store float 0x3FBC5CF520000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2249 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2249 - store float 0x3FCBED9B20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2249 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2249 - store float 0x3FE4457540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2249 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2249 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2249 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2249 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2249 - call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2249 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300200EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300200EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE199_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !843 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2253 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2253 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_truncDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2256 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300184EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE183_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2257 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2257 - store float 0x3FDB46F8E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2257 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2257 - store float 0x3FE40FEF40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2257 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2257 - store float 0x3FEBEE4F40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2257 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2257 - store float 0x3FDC7EB220000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2257 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2257 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2257 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2257 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2257 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2257 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2257 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2257 - call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2257 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - %0 = load i16, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp4, align 2, !tbaa !99 - %2 = load i16, ptr %a1, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp6, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %4 = load i32, ptr %PartialRes, align 4 - store i32 %4, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2260 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !303 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2261 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %t) #1 comdat !srcloc !1367 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2262 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2264 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2266 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2267 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2267 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2267 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2267 - %call3.i = tail call spir_func noundef half @_Z21__spirv_ocl_remainderDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300273EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE272_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2270 - store float 0x3FDA0BA460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2270 - store float 0x3FD29C5560000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2270 - store float 0x3FD62F5120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2270 - store float 0x3FE84E6780000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2270 - store float 0x3FEA589840000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2270 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2270 - store float 0x3FEBC89BA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2270 - store float 0x3FBCB63520000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2270 - store float 0x3FE67FEBA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2270 - store float 0x3FE0A70320000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2270 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2270 - store float 0x3FC98E1160000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2270 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2270 - call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2270 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2270 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !2273 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2274 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2274 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_sinhDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder11createGroupILi1EEENS0_5groupIXT_EEERKNS0_5rangeIXT_EEES9_S9_RKNS0_2idIXT_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::group") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Global, ptr addrspace(4) noundef align 8 dereferenceable(8) %Local, ptr addrspace(4) noundef align 8 dereferenceable(8) %Group, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index) #1 comdat align 2 !srcloc !2277 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr addrspace(4) %Group, align 8 - store i64 %0, ptr %agg.tmp, align 8 - tail call spir_func void @_ZN4sycl3_V15groupILi1EEC2ERKNS0_5rangeILi1EEES6_S4_RKNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %Global, ptr addrspace(4) noundef align 8 dereferenceable(8) %Local, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(8) %Index) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2110") align 32 %a1) #2 comdat !srcloc !635 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2110", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x i32>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <8 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !2278 - %call2.i = tail call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp13) #13, !noalias !2278 - %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_pownDv8_DF16_Dv8_i(<8 x half> noundef %call.i, <8 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJLm0ELm1EEEERKSt5arrayIS4_Lm2EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !243 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2281 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2281 - %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_erfDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300066EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE65_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3A99, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2284 - call spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300260EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300260EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE259_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300080EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE79_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2287 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2289 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2289 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2289 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300391EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2290 - store float 0x3FE914F140000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2290 - store float 0x3FE42184E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2290 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2290 - store float 0x3FC93B32A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2290 - store float 0x3FEB2F0380000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2290 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2290 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2290 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2290 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2290 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2290 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2290 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !2290 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2290 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301054EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301054EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE789_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2294 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2295 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2295 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2295 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2295 - %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_copysignDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300847EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300847EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE646_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !161 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13sinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2298 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2299 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300668EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300668EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE535_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE82_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2301 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2301 - store float 0x3FD8F259C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2301 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2301 - store float 0x3FDEA2F5E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2301 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2301 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2301 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2301 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2301 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2301 - store float 0x3FD561FC60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2301 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2301 - store float 0x3FEB30C120000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2301 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2301 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2301 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2301 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2301 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2301 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !2301 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2301 - call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !2301 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2301 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300491EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE402_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2304 - store float 0x3FEA815EE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2304 - store float 0x3FC4A48E20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2304 - store float 0x3FD04BFD80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2304 - store float 0x3FE1F6A600000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2304 - store float 0x3FD9C90D80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2304 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2304 - store float 0x3FE43E61C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2304 - store float 2.656250e-01, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2304 - store float 0x3FE4D8E920000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2304 - store float 0x3FC47534E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2304 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2304 - store float 0x3FD87EDF80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2304 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2304 - call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2304 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2304 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300140EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300140EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE139_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300141EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300141EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE140_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300229EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300229EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE228_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300612EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300612EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE479_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm3EE6_S_refERA3_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(6) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300670EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE537_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 58657251995948, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2307 - store i64 60306561448282, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2307 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300313EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300313EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE312_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300625EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300625EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE492_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300098EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300098EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE97_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(60) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 7) #13 - %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 - %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 8) #13 - %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 - store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 - %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 9) #13 - %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 - store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 - %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 10) #13 - %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 - store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 - %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 11) #13 - %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 - store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 - %arrayinit.element24 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 13 - %call25 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 12) #13 - %15 = load i32, ptr addrspace(4) %call25, align 4, !tbaa !126 - store i32 %15, ptr addrspace(4) %arrayinit.element24, align 4, !tbaa !126 - %arrayinit.element26 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 14 - %call27 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 13) #13 - %16 = load i32, ptr addrspace(4) %call27, align 4, !tbaa !126 - store i32 %16, ptr addrspace(4) %arrayinit.element26, align 4, !tbaa !126 - %arrayinit.element28 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 15 - %call29 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm15EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(60) %A2, i64 noundef 14) #13 - %17 = load i32, ptr addrspace(4) %call29, align 4, !tbaa !126 - store i32 %17, ptr addrspace(4) %arrayinit.element28, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2053 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300814EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !1540 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2310 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2310 - store half 0xH3354, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2310 - store half 0xH35CE, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !2310 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2310 - store i64 %2, ptr %agg.tmp4.i, align 8, !tbaa !128, !noalias !2310 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp4.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2310 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [2 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1860 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2313 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2313 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_rsqrtDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi4EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { -entry: - %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 - %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 - %splat.splatinsert = insertelement <4 x i32> poison, i32 %call, i64 0 - %splat.splat = shufflevector <4 x i32> %splat.splatinsert, <4 x i32> poison, <4 x i32> zeroinitializer - store <4 x i32> %splat.splat, ptr addrspace(4) %this, align 16, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300693EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2317 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2317 - store half 0xH2FA7, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2317 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2317 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2317 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2317 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300021EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE20_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2320 - store float 0x3FE1E416A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2320 - store float 0x3FEA7F14C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2320 - store float 0x3FE0E01EA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2320 - store float 0x3FE49F8240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2320 - store float 0x3FBF1147E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2320 - store float 0x3FE374BC40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2320 - store float 0x3FE2B8E640000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2320 - store float 0x3FE1F1C3E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2320 - store float 0x3FDA6E0F60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2320 - store float 0x3FD959E600000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2320 - store float 0x3FEC4D1D20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2320 - store float 0x3FC086CBA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2320 - store float 0x3FBE07F9E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2320 - store float 0x3FEBCD6A20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2320 - store float 0x3FCFBDBA80000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2320 - store float 0x3FC97CA320000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2320 - store float 0x3FD12E77E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2320 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2320 - call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2320 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301021EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301021EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE756_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !183 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2323 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2323 - %call3.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_powDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300866EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300866EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE653_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300781EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE604_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2064", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2326 - store <4 x i32> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2326 - call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !142 { -entry: - %0 = load <2 x i32>, ptr addrspace(4) %t, align 8, !tbaa !69 - tail call spir_func void @_ZN4sycl3_V13vecIiLi2EEC2IDv2_ivEES4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, <2 x i32> noundef %0) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300881EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE660_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2329 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300155EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE154_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2332 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(12) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(12) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300161EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300161EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE160_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300227EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE226_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2335 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2335 - store float 0x3FE1EE0720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2335 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2335 - store float 0x3FC0F0CE20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2335 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2335 - store float 0x3FC65F4660000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2335 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2335 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2335 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2335 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2335 - call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2335 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300201EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300201EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE200_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2338 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300774EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300774EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE597_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300689EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300689EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE556_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.2", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2339 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2340 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2340 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_rintDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0DF16_PU3AS0NS1_9half_impl4halfEEET_T0_(ptr noundef %from) #1 comdat !srcloc !141 { -entry: - ret ptr %from -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIS4_Lm17EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, ptr addrspace(4) noundef align 2 dereferenceable(34) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 1) #13 - %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element3 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 2 - %call4 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 2) #13 - %3 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element3, align 2, !tbaa !99 - %arrayinit.element5 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 3 - %call6 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 3) #13 - %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element5, align 2, !tbaa !99 - %arrayinit.element7 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 4 - %call8 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 4) #13 - %5 = load i16, ptr addrspace(4) %call8, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element7, align 2, !tbaa !99 - %arrayinit.element9 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 5 - %call10 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 5) #13 - %6 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element9, align 2, !tbaa !99 - %arrayinit.element11 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 6 - %call12 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 6) #13 - %7 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element11, align 2, !tbaa !99 - %arrayinit.element13 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 7 - %call14 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 7) #13 - %8 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element13, align 2, !tbaa !99 - %arrayinit.element15 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 8 - %call16 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 8) #13 - %9 = load i16, ptr addrspace(4) %call16, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element15, align 2, !tbaa !99 - %arrayinit.element17 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 9 - %call18 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 9) #13 - %10 = load i16, ptr addrspace(4) %call18, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element17, align 2, !tbaa !99 - %arrayinit.element19 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 10 - %call20 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 10) #13 - %11 = load i16, ptr addrspace(4) %call20, align 2, !tbaa !99 - store i16 %11, ptr addrspace(4) %arrayinit.element19, align 2, !tbaa !99 - %arrayinit.element21 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 11 - %call22 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 11) #13 - %12 = load i16, ptr addrspace(4) %call22, align 2, !tbaa !99 - store i16 %12, ptr addrspace(4) %arrayinit.element21, align 2, !tbaa !99 - %arrayinit.element23 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 12 - %call24 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 12) #13 - %13 = load i16, ptr addrspace(4) %call24, align 2, !tbaa !99 - store i16 %13, ptr addrspace(4) %arrayinit.element23, align 2, !tbaa !99 - %arrayinit.element25 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 13 - %call26 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 13) #13 - %14 = load i16, ptr addrspace(4) %call26, align 2, !tbaa !99 - store i16 %14, ptr addrspace(4) %arrayinit.element25, align 2, !tbaa !99 - %arrayinit.element27 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 14 - %call28 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 14) #13 - %15 = load i16, ptr addrspace(4) %call28, align 2, !tbaa !99 - store i16 %15, ptr addrspace(4) %arrayinit.element27, align 2, !tbaa !99 - %arrayinit.element29 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 15 - %call30 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 15) #13 - %16 = load i16, ptr addrspace(4) %call30, align 2, !tbaa !99 - store i16 %16, ptr addrspace(4) %arrayinit.element29, align 2, !tbaa !99 - %arrayinit.element31 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 16 - %call32 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %Arr, i64 noundef 16) #13 - %17 = load i16, ptr addrspace(4) %call32, align 2, !tbaa !99 - store i16 %17, ptr addrspace(4) %arrayinit.element31, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 - store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300518EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300518EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE429_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %t) #1 comdat !srcloc !1175 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret <3 x half> %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %t) #1 comdat !srcloc !1175 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 4 dereferenceable(4) %t.ascast) #13 - ret <2 x half> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp6 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - %2 = load i32, ptr %a2, align 2, !tbaa !69 - store i32 %2, ptr %agg.tmp6, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300145EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300145EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE144_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301038EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301038EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE773_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2343 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300771EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE594_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2344 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2344 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301080EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301080EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE815_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300540EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300540EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300594EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2347 - store float 0x3FDF307140000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2347 - store float 0x3FCEDECF80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2347 - store float 0x3FD15EDC40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2347 - store float 0x3FCE7D6F80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2347 - store float 0x3FC84E6040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2347 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2347 - store i32 12868, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2347 - store i32 -15967, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2347 - store i32 -8867, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2347 - store i32 25236, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2347 - store i32 -3649, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2347 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2347 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2347 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2347 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2347 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !2347 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2347 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(12) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2350 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300756EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE579_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH3838, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2351 - store half 0xH38B0, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2351 - call spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2354 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2355 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2355 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_truncDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300133EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE132_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2358 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300914EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300914EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE693_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300924EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE703_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2361 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2364 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300751EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE578_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1892.216, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2365 - store float 0x3FE5EFAAE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2365 - store float 0x3FC5015CE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2365 - store float 0x3FE1EF1E20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2365 - store float 0x3FD3B23E80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2365 - store float 0x3FD82288A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2365 - store float 0x3FE7C7DBE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2365 - store float 0x3FE9977640000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2365 - store float 0x3FE474F300000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2365 - store float 0x3FE6438540000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2365 - store float 0x3FEB727B60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2365 - store float 0x3FE1BAD380000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2365 - store float 0x3FE8C5FEC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2365 - store float 0x3FCC21C200000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2365 - store float 0x3FE96FC980000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2365 - store float 0x3FC16067C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2365 - store float 0x3FBDFF9020000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2365 - store float 0x3FD2059420000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2365 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2365 - store float 0x3FE7909180000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2365 - store float 0x3FE55AF9E0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2365 - store float 0x3FE9BDD180000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2365 - store float 0x3FD7EFC100000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2365 - store float 0x3FEA022780000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2365 - store float 0x3FE80D4A80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2365 - store float 0x3FDCA68C00000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2365 - store float 0x3FE9250AE0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2365 - store float 0x3FD71E7E40000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2365 - store float 0x3FE265EB80000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2365 - store float 0x3FD22CAEC0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2365 - store float 0x3FD4C6B6C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2365 - store float 0x3FE688CF00000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2365 - store float 0x3FE9F65FA0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2365 - store float 0x3FBA557280000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2365 - store float 0x3FE818A3E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2365 - store float 0x3FE8B52980000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2365 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2365 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2365 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2365 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2365 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !2365 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !2365 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2365 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300268EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE267_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2368 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2368 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300998EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300998EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE733_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1624 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300016EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE15_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2371 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301041EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE776_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2374 - store float 0x3FC0B6F280000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2374 - store float 0x3FC2A7D6E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2374 - store float 0x3FC0EF8D00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2374 - store float 0x3FC13A1560000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2374 - store float 0x3FE3980780000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2374 - store float 0x3FDD1EFCA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2374 - store float 0x3FD37174E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2374 - store float 0x3FC7AE2CA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2374 - store float 0x3FEBDC7520000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2374 - store float 0x3FCAA16D00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2374 - store float 0x3FD967A660000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2374 - store float 0x3FEC1BC560000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2374 - store float 0x3FC02CD980000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2374 - store float 0x3FD8F784E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2374 - store float 0x3FE179AB60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2374 - store float 0x3FE7296780000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2374 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2374 - store float 0x3FDE31D760000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2374 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2374 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2374 - call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2374 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300531EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300531EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE442_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300060EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300060EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE59_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2377 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300583EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300583EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300637EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE504_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 61543428338731, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2378 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300753EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2381 - store float 0x3FD8EF7180000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2381 - store float 0x3FE7248360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2381 - store float 0x3FC17A4880000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2381 - store float 0x3FE2EBF300000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2381 - store float 0x3FD65D6C00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2381 - store float 0x3FDF935BC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2381 - store float 0x3FD5932780000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2381 - store float 0x3FDAB9AB80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2381 - store float 0x3FDBD43560000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2381 - store float 0x3FC975A9C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2381 - store float 0x3FE6304C00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2381 - store float 0x3FD809EAA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2381 - store float 0x3FC6767A20000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2381 - store float 0x3FE81B01E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2381 - store float 0x3FD18A04E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2381 - store float 0x3FE5C6DB00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2381 - store float 0x3FE26EE9E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2381 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2381 - store float 0x3FC0AEDA60000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2381 - store float 0x3FEB6DA4E0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2381 - store float 0x3FEC0A9020000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2381 - store float 0x3FE5F290C0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2381 - store float 0x3FC6549040000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2381 - store float 0x3FE50D6F80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2381 - store float 0x3FD03BC460000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2381 - store float 0x3FDE1FBAE0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2381 - store float 0x3FDFC445A0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2381 - store float 0x3FD36E5C80000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2381 - store float 0x3FE84E1880000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2381 - store float 0x3FC992E580000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2381 - store float 0x3FDEE28B60000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2381 - store float 0x3FE2B244E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2381 - store float 0x3FE67F2F60000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2381 - store float 0x3FE93B2920000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2381 - store float 0x3FE1D04460000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2381 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2381 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2381 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2381 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2381 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !2381 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2381 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i32 @_ZN4sycl3_V16detail20ConvertNonVectorTypeIiiEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS4_(ptr addrspace(4) noundef align 4 dereferenceable(4) %t) #1 comdat !srcloc !142 { -entry: - %0 = load i32, ptr addrspace(4) %t, align 4, !tbaa !126 - ret i32 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300901EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300901EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE680_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300325EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE324_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2384 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2384 - store float 0x3FE434A240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2384 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2384 - store float 0x3FE57DE500000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2384 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2384 - store float 0x3FE9A892C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2384 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2384 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2384 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2384 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2384 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2384 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2384 - store float 0x3FC5E18700000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2384 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2384 - store float 0x3FC98C22C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2384 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2384 - store float 0x3FDFD00F80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2384 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2384 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2384 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2384 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2384 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2384 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2384 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [3 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300801EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE624_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2387 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !2387 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1095 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2390 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_erfcDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300986EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE729_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1854.214, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2393 - store float 0x3FE191D9E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2393 - store float 0x3FDBB93380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2393 - store float 0x3FDB2456A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2393 - store float 0x3FD2E889C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2393 - store float 0x3FC5379FC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2393 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2393 - store float 0x3FE9897F60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2393 - store float 0x3FDC929320000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2393 - store float 0x3FCD41A5C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2393 - store float 0x3FCA42AD00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2393 - store float 0x3FE9F13520000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2393 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2393 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2393 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2393 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2393 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !2393 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !2393 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2393 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300739EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300739EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE574_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !971 { -entry: - %loadVec4 = load <4 x half>, ptr addrspace(4) %t, align 8 - %extractVec = shufflevector <4 x half> %loadVec4, <4 x half> poison, <3 x i32> - tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IDv3_DF16_vEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, <3 x half> noundef %extractVec) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm16EE6_S_refERA16_Kim(ptr addrspace(4) noundef align 4 dereferenceable(64) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300105EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300105EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE104_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301052EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE787_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300512EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE423_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2396 - store float 0x3FE61125E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2396 - store float 0x3FE2EB0960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2396 - store float 0x3FD643FDE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2396 - store float 0x3FE23E9C60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2396 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2396 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !2396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2396 - store i32 -18961, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2396 - store i32 -29862, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2396 - store i32 -28632, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2396 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2396 - store i32 -23423, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2396 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2396 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2396 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2396 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2396 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300904EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE683_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2399 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300638EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE505_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2402 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%union.anon) align 8 %t) #1 comdat !srcloc !1367 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr addrspace(1) %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1961 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2405 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300802EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE625_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 63519261800059, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2407 - store i64 58541289387440, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2407 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2410 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2410 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !2410 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !2410 - %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !2410 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp25 = alloca %"struct.std::array.139.16", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp25.ascast = addrspacecast ptr %ref.tmp25 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 26, ptr nonnull %ref.tmp25) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.139.16") align 2 %ref.tmp25.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm13EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(26) %ref.tmp25.ascast) #13 - call void @llvm.lifetime.end.p0(i64 26, ptr nonnull %ref.tmp25) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2414 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2415 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2417 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2417 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2417 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300189EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300189EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE188_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300930EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE709_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2418 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2418 - store float 0x3FE3128F20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2418 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2418 - store float 0x3FE8AD1EA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2418 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2418 - store float 0x3FE0496020000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2418 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2418 - store float 0x3FE9A4EB40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2418 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2418 - store float 0x3FD681C380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2418 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2418 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2418 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2418 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2418 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2418 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2418 - call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2418 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300417EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300417EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE372_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1225 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2421 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_exp2Dv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2424 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300973EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300973EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300726EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE569_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %result = alloca %struct.privatePtrCheck.1740.208, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2425 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2425 - store float 0x3FD661E640000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2425 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2425 - store float 0x3FE5DB23E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2425 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2425 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2425 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2425 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2425 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2425 - store float 0x3FDBDFE720000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2425 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2425 - store float 0x3FC35383C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2425 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2425 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2425 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2425 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2425 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2425 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !2425 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2425 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2425 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2425 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !2425 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !2425 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !2425 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !2425 - %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !2425 - store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !2425 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !2425 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2425 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2425 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2425 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i32, ptr %resArg, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300850EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2223, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300850EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300910EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE689_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH323A, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2428 - call spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !424 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2431 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2431 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !2431 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !2431 - %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fmodDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2434 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #4 comdat align 2 !srcloc !2435 { -entry: - store i64 %dim0, ptr addrspace(4) %this, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300688EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE555_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2436 - store float 0x3FD86DC7E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2436 - store float 0x3FE7200EC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2436 - store float 0x3FCBF8CC40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2436 - store float 0x3FDFDBC380000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2436 - store float 0x3FDFAFD700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2436 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2436 - store float 0x3FCFAE9DE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2436 - store float 0x3FD7201B40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2436 - store float 0x3FE4C62260000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2436 - store float 0x3FCCB6A9C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2436 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2436 - store float 0x3FE82855E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2436 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2436 - call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !2436 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2436 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2439 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !239 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2440 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2440 - %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_logDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1089 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1198 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2443 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2443 - %call3.i = tail call spir_func noundef <16 x half> @_Z19__spirv_ocl_atan2piDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2446 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2447 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300997EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300997EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm3EE6_S_refERA3_Kim(ptr addrspace(4) noundef align 4 dereferenceable(12) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [3 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %value) #1 comdat align 2 !srcloc !2448 { -entry: - ret i32 %value -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300119EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300119EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE118_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm7EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(14) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm7EE6_S_refERA7_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(14) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_Z21__spirv_WorkgroupId_xv() #5 comdat !srcloc !2449 { -entry: - %0 = load i64, ptr addrspace(1) @__spirv_BuiltInWorkgroupId, align 32 - ret i64 %0 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300297EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300297EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE296_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300803EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE626_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2450 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !2450 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300245EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE244_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2453 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301022EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE757_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 60104705259725, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2456 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE798_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2459 - store float 0x3FE821D960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2459 - store float 0x3FBFAF57A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2459 - store float 0x3FCA6D7220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2459 - store float 0x3FE6B436E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2459 - store float 0x3FBD8DCDA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2459 - store float 0x3FC465FEE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2459 - store float 0x3FE9652780000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2459 - store float 0x3FE2CC3660000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2459 - store float 0x3FD26C0DC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2459 - store float 0x3FDDC74C20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2459 - store float 0x3FE5E42380000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2459 - store float 0x3FEC935F60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2459 - store float 0x3FDF780620000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2459 - store float 0x3FCFD7D160000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2459 - store float 0x3FE5B660E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2459 - store float 0x3FD611C320000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2459 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2459 - store float 0x3FE67BB820000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2459 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2459 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2459 - call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2459 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300188EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE187_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2462 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300511EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300511EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE422_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !2465 { -entry: - %call = tail call spir_func noundef i64 @_ZN7__spirvL21getGlobalInvocationIdILi0EEEmv() #13 - tail call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(4) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(4) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2466 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !256 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2468 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE17_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2469 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2469 - store float 0x3FE8D58020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2469 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2469 - store float 0x3FD2D7EAA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2469 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2469 - store float 0x3FE5ED1680000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2469 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2469 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2469 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2469 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2469 - call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2469 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1717 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2472 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_cospiDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE803_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2475 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300507EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300507EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE418_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(2) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(2) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(20) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !2479 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2481 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2482 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2482 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_cbrtDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300482EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300482EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE393_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1764 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.2215", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm1EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm5EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300509EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE420_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2156", align 64 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2485 - store <16 x i32> , ptr %agg.tmp2.i, align 64, !tbaa.struct !689, !noalias !2485 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300925EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE704_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2488 - call spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300271EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE270_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2491 - store float 0x3FE27CAE00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2491 - store float 0x3FE7520940000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2491 - store float 0x3FDBD50540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2491 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2491 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2491 - store float 0x3FE21C33C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2491 - store float 0x3FD360A7C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2491 - store float 0x3FD669A860000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2491 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2491 - call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2491 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2491 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300122EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE121_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2494 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2497 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr addrspace(3) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2498 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1130 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300796EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300796EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE619_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300322EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300322EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE321_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE57_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2500 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2503 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2504 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2504 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2504 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2504 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_fdimDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(4) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2507 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1723 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2508 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2508 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_log10Dv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2511 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2044 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2512 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2513 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2514 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2515 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2517 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2519 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !617 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2520 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2520 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2520 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2520 - %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_powrDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2523 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !915 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %this, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - %0 = load i64, ptr %res_t, align 2, !tbaa !69 - store i64 %0, ptr addrspace(4) %this, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load i64, ptr %resArg_t, align 2, !tbaa !69 - store i64 %1, ptr addrspace(4) %resArg, align 2, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300204EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300204EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE203_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1986 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp3 = alloca %"class.sycl::_V1::marray.2202", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm4EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp3) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp3.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp3) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300089EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300089EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE88_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300694EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2525 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2525 - store half 0xH380E, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2525 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2525 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2525 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2525 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2264 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300997EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2528 - store float 0x3FDEECB700000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2528 - store float 0x3FEB930AA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2528 - store float 0x3FE33E1A40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2528 - store float 0x3FE5C71A00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2528 - store float 0x3FC53FEA20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2528 - store float 0x3FD438D460000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2528 - store float 0x3FD7EBA100000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2528 - store float 0x3FC5C87BC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2528 - store float 0x3FEAC28920000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2528 - store float 0x3FEA794A80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2528 - store float 0x3FCD110440000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2528 - store float 0x3FE37BD4E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2528 - store float 0x3FE7929F00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2528 - store float 0x3FE70A8F00000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2528 - store float 0x3FC177F6E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2528 - store float 0x3FE49FDEC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2528 - store float 0x3FCF35C9C0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2528 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2528 - store float 0x3FEBAFE420000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2528 - store float 0x3FE028FBA0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2528 - store float 0x3FD1B221A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2528 - store float 0x3FE09B4C20000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2528 - store float 0x3FE0D7BC00000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2528 - store float 0x3FD0917C60000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2528 - store float 0x3FD0F04560000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2528 - store float 0x3FEBD0E560000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2528 - store float 0x3FEC703340000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2528 - store float 0x3FCB80F100000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2528 - store float 0x3FCCA99AE0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2528 - store float 0x3FE005E880000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2528 - store float 0x3FD12BC400000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2528 - store float 0x3FE0B3ABE0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2528 - store float 0x3FE09D9240000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2528 - store float 0x3FD5AAAF20000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2528 - store float 0x3FD2F32E40000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2528 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2528 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2528 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2528 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2528 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !2528 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2528 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300574EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2531 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2531 - store float 0x3FE92321C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2531 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2531 - store float 0x3FD9CADF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2531 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2531 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2531 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2531 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2531 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2531 - store i32 9234, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !2531 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2531 - store i32 10553, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2531 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2531 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2531 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2531 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2531 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2531 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2531 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2531 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2531 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !2531 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2531 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2531 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2531 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 4, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2534 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2534 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !2534 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !2534 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !2534 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300693EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1520.196, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 - store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300693EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE2_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { -entry: - %arrayidx = getelementptr inbounds [2 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300894EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300894EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE673_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300330EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE329_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store i64 56471201003852, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2537 - store half 0xH38CD, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2537 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2540 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300011EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE10_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH374C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2542 - call spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300188EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300188EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE187_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300392EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300392EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE363_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !376 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2545 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2545 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2545 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2545 - %call7.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_hypotDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300652EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300652EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE519_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !617 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !2548 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !2548 - %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_powrDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300605EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE472_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2551 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14itemILi1ELb1EEC2ILb1EEERNSt9enable_ifIXT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEESE_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr addrspace(4) noundef align 8 dereferenceable(8) %extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %index, ptr addrspace(4) noundef align 8 dereferenceable(8) %offset) #4 comdat align 2 !srcloc !2554 { -entry: - %0 = load i64, ptr addrspace(4) %extent, align 8 - store i64 %0, ptr addrspace(4) %this, align 8 - %MIndex = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load i64, ptr addrspace(4) %index, align 8 - store i64 %1, ptr addrspace(4) %MIndex, align 8 - %MOffset = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - %2 = load i64, ptr addrspace(4) %offset, align 8 - store i64 %2, ptr addrspace(4) %MOffset, align 8 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !2555 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2556 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2556 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_asinDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <4 x i32> @_ZNK4sycl3_V13vecIiLi4EEcvDv4_iEv(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this) #1 comdat align 2 !srcloc !954 { -entry: - %0 = load <4 x i32>, ptr addrspace(4) %this, align 16, !tbaa !69 - ret <4 x i32> %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300236EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300236EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE235_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300414EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300414EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2133 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm1EE6_S_refERA1_Kim(ptr addrspace(4) noundef align 4 dereferenceable(4) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301054EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE789_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2559 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300812EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE635_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.1936.218, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2562 - store i32 -24231, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !2562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2562 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2562 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2562 - store half 0xH3295, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2562 - store half 0xH36CE, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2562 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2562 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2562 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp3.i) #14, !noalias !2562 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !2562 - store i16 %1, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !2562 - %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !2562 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i, i32 noundef %2) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2562 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2562 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2562 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 4, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 - %4 = load i32, ptr %resArg, align 4, !tbaa !1180 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300408EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2565 - store float 0x3FE0F00100000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2565 - store float 0x3FDFAC1EC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2565 - store float 0x3FBD0BD4A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2565 - store float 0x3FC1CB6FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2565 - store float 0x3FD007F2C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2565 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2565 - store float 0x3FDF9EA2A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2565 - store float 0x3FE40F07C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2565 - store float 0x3FE0898400000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2565 - store float 0x3FE1EAC2A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2565 - store float 0x3FEC985E40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2565 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2565 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2565 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2565 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2565 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !2565 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2565 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1507 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2568 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2568 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2568 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !2568 - %call7.i = tail call spir_func noundef <3 x half> @_Z20__spirv_ocl_copysignDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2571 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2572 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300886EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE665_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2573 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2573 - store float 0x3FE87F2D20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2573 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2573 - store float 0x3FEC90F800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2573 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2573 - store float 0x3FD8711600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2573 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2573 - store float 0x3FD2CF7A40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2573 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2573 - store float 0x3FDD2833A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2573 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2573 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2573 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2573 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2573 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2573 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2573 - call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2573 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2576 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300109EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE108_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2577 - store float 0x3FCFEC7E40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2577 - store float 0x3FC2A2C560000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2577 - store float 0x3FE388E120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2577 - store float 0x3FCE8DB120000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2577 - store float 0x3FE2D601C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2577 - store float 0x3FE2E15300000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2577 - store float 0x3FE53EFCE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2577 - store float 0x3FE04F6BC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2577 - store float 0x3FD4F66700000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2577 - store float 0x3FE9A9B480000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2577 - store float 0x3FD87A2C60000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2577 - store float 0x3FDDDD5B00000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2577 - store float 0x3FE3604900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2577 - store float 0x3FE069AC20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2577 - store float 0x3FEBAF82C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2577 - store float 0x3FEBA409A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2577 - store float 0x3FEB007960000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2577 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2577 - call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2577 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2580 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300352EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2581 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2581 - store half 0xH373E, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2581 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2581 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !2581 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2581 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300477EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300477EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE392_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2584 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300012EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE11_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2585 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !783 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2587 - %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_expDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300646EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300646EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE513_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300683EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE550_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2590 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2590 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300218EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300218EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE217_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300897EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE676_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2593 - store float 0x3FD431C5A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2593 - store float 0x3FD56E9A00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2593 - store float 0x3FCDB88CA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2593 - store float 0x3FE544C0C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2593 - store float 0x3FE6CEE5A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2593 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2593 - store i32 3049, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2593 - store i32 31465, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2593 - store i32 -6911, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2593 - store i32 26106, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2593 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2593 - store i32 -6916, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2593 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2593 - call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !2593 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2593 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300655EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE522_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2596 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2596 - store float 0x3FD9B54CE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2596 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2596 - store float 0x3FE9B663C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2596 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2596 - store float 0x3FEBD14940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2596 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2596 - store float 0x3FE6F55FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2596 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2596 - store float 0x3FE3A68EC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2596 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2596 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2596 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2596 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2596 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2596 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2596 - call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2596 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300641EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300641EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE508_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !699 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2599 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2599 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2599 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300147EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE146_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2600 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !2600 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1087 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2603 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2604 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2605 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300794EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE617_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2606 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !2606 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301068EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE803_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300645EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300645EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE512_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300885EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE664_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2609 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2609 - store float 0x3FE0298720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2609 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2609 - store float 0x3FD6709D40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2609 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2609 - store float 0x3FE15D6EC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2609 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2609 - store float 0x3FEA2FE280000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2609 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2609 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2609 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2609 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2609 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2609 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2609 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2609 - call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2609 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !548 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2612 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !2612 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_rintDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300800EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE623_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH2EC9, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2615 - store half 0xH39AE, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2615 - call spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm8EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(32) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(32) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300462EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2618 - store float 0x3FD27AEBC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2618 - store float 0x3FBD10E3C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2618 - store float 0x3FEB31B460000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2618 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2618 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2618 - store i32 -29913, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2618 - store i32 -2170, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2618 - store i32 10163, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2618 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2618 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2618 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2618 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2618 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !2618 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2618 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2618 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2618 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2621 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300577EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2623 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2623 - store float 0x3FD14B0620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2623 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2623 - store float 0x3FC8EA5840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2623 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2623 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2623 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2623 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2623 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2623 - store i32 9870, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !2623 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2623 - store i32 -30682, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2623 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2623 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2623 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2623 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2623 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2623 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2623 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !2623 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2623 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !2623 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2623 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2623 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2623 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2626 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2626 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !2626 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !2626 - %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !2626 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !330 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300675EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE542_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2630 - store float 0x3FD0643E80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2630 - store float 0x3FE23B8820000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2630 - store float 0x3FE8300B20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2630 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2630 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2630 - store float 0x3FC7F4D4E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2630 - store float 0x3FE6E96E60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2630 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2630 - store float 0x3FE9136E00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2630 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2630 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2630 - call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2630 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2630 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE743_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2633 - store float 0x3FDFAAB240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2633 - store float 0x3FE0028640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2633 - store float 0x3FE3931120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2633 - store float 0x3FE8919FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2633 - store float 0x3FE99052A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2633 - store float 0x3FE82CA640000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2633 - store float 0x3FE8F418E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2633 - store float 0x3FC9E0BE20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2633 - store float 0x3FE0703840000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2633 - store float 0x3FE8575AC0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2633 - store float 0x3FE133BE40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2633 - store float 0x3FDCDD3A40000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2633 - store float 0x3FD8FB40A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2633 - store float 0x3FDBE18000000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2633 - store float 0x3FEC2FCF60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2633 - store float 0x3FD2AD5E40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2633 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2633 - store float 0x3FECBB8840000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2633 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2633 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2633 - call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2633 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %this, ptr align 2 %res_t, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr addrspace(4) %this, i64 0, i32 1 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %resArg, ptr align 4 %resArg_t, i64 12, i1 false), !tbaa.struct !1142 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { -entry: - %call = tail call spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0DF16_PU3AS0NS1_9half_impl4halfEEET_T0_(ptr noundef %call) #13 - ret ptr %call1 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2636 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2637 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2637 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2637 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2637 - %call3.i = tail call spir_func noundef half @_Z19__spirv_ocl_atan2piDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE802_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2640 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv21initLocalInvocationIdILi1EN4sycl3_V12idILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !2643 { -entry: - tail call spir_func void @_ZN7__spirv28InitSizesSTLocalInvocationIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300728EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1748.209, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 - store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300728EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300761EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE584_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2644 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !2644 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300060EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE59_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2647 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300099EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300099EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE98_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300252EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300252EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE251_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv22InitSizesSTWorkgroupIdILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !2650 { -entry: - %call = tail call spir_func noundef i64 @_ZN7__spirvL14getWorkgroupIdILi0EEEmv() #13 - tail call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300739EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE574_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.1816.212, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2651 - store float 0x3FEB96C6E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2651 - store float 0x3FDA31A0A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2651 - store float 0x3FD2641E60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2651 - store float 0x3FC854AFE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2651 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2651 - store float 0x3FCC324540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2651 - store float 0x3FCD91A340000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2651 - store float 0x3FD987F3E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2651 - store float 0x3FE1C47400000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2651 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2651 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2651 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2651 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2651 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2651 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2651 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2651 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !2651 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2651 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !2651 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !2651 - store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !2651 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2651 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300237EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE236_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2654 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2654 - store float 0x3FD25BBDA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2654 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2654 - store float 0x3FD31F25C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2654 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2654 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2654 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2654 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2654 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2654 - call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2654 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2498 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { -entry: - %arrayidx = getelementptr inbounds [3 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2657 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300074EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE73_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300039EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE38_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2658 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2659 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2659 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_atanDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2515 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE813_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2662 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300694EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300694EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300657EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300657EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE524_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2665 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300391EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300391EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300138EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300138EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE137_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !887 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300272EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300272EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE271_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300778EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE601_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH38E9, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2666 - call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, i32 noundef 8789) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300170EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE169_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2669 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300181EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300181EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE180_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301036EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301036EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE771_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp19 = alloca %"struct.std::array.2410", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp19.ascast = addrspacecast ptr %ref.tmp19 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %ref.tmp19) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2410") align 4 %ref.tmp19.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm10EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(40) %ref.tmp19.ascast) #13 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %ref.tmp19) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2672 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #4 comdat align 2 !srcloc !1947 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.2297", align 4 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm4EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIiLm4EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(16) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !997 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2673 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2673 - %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_atanpiDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2676 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1771 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300927EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE706_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2677 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2677 - store float 0x3FE5FFE300000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2677 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2677 - store float 0x3FC0323E40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2677 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2677 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2677 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2677 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2677 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2677 - call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2677 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2680 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300647EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE514_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2681 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300869EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300869EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300979EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300979EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300641EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE508_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2684 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2684 - store float 0x3FDE7979C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2684 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2684 - store float 0x3FC409AF80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2684 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2684 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2684 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2684 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2684 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2684 - call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2684 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm4EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2687 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300975EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300975EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE726_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300031EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE30_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2688 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2688 - store float 0x3FD4C7FDE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2688 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2688 - store float 0x3FD2B1D660000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2688 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2688 - store float 0x3FEB99A0E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2688 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2688 - store float 0x3FD86F1740000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2688 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2688 - store float 0x3FD523AC60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2688 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2688 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2688 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2688 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2688 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2688 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2688 - call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2688 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2691 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2692 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2692 - %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_expDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2695 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300419EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1945, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !2696 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300419EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !2699 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2700 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2700 - %call1.i = tail call spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %a1) #13, !noalias !2700 - %call2.i = tail call spir_func noundef half @_Z17__spirv_ocl_ldexpDF16_i(half noundef %call.i, i32 noundef %call1.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300588EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2703 - store float 0x3FDA54C7E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2703 - store float 0x3FD3B3DDA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2703 - store float 0x3FE0B37A20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2703 - store float 0x3FD7C4D680000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2703 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2703 - store i32 -14384, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2703 - store i32 10335, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2703 - store i32 -13115, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2703 - store i32 -16869, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2703 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2703 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2703 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2703 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2703 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !2703 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2703 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !2703 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2703 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a2) #2 comdat !srcloc !902 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - %2 = load i32, ptr %a2, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp3.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2706 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2706 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !2706 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !2706 - store i32 %2, ptr %agg.tmp3.i, align 4, !tbaa !69, !noalias !2706 - %call4.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp3.i) #13, !noalias !2706 - %call5.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_madDv2_DF16_S_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i, <2 x half> noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300738EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE573_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.1816.212, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2709 - store float 0x3FC6F90C20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2709 - store float 0x3FE7544340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2709 - store float 0x3FBD2B1280000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2709 - store float 0x3FE5315700000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2709 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2709 - store float 0x3FE81CB060000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2709 - store float 0x3FEB32DFE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2709 - store float 0x3FE886E4C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2709 - store float 0x3FE7E928C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2709 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2709 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2709 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2709 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2709 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2709 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2709 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2709 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !2709 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2709 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !2709 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !2709 - store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !2709 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2709 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %rhs) #4 comdat align 2 !srcloc !2712 !sycl_used_aspects !63 { -entry: - %0 = load float, ptr addrspace(4) %rhs, align 4, !tbaa !82 - %conv = fptrunc float %0 to half - store half %conv, ptr addrspace(4) %this, align 2, !tbaa !1216 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2713 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2714 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300307EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE306_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2715 - store float 0x3FCD8C4960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2715 - store float 0x3FE176FD20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2715 - store float 0x3FC5167A20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2715 - store float 0x3FE009A880000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2715 - store float 0x3FE4D43700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2715 - store float 0x3FDBE48360000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2715 - store float 0x3FD67C7000000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2715 - store float 0x3FE47273E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2715 - store float 0x3FEB24AF60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2715 - store float 0x3FE990A8E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2715 - store float 0x3FDA217F80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2715 - store float 0x3FE94D97C0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2715 - store float 0x3FC8945A00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2715 - store float 0x3FC2D02020000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2715 - store float 0x3FEC5E9D40000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2715 - store float 0x3FE6BAFFA0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2715 - store float 0x3FE2F196A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2715 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2715 - store float 0x3FE18139C0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2715 - store float 0x3FD636F020000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2715 - store float 0x3FEA376CC0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2715 - store float 0x3FE907C900000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2715 - store float 0x3FDF1055C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2715 - store float 0x3FD1AF0060000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2715 - store float 0x3FE4840600000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2715 - store float 0x3FE5CA5AA0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2715 - store float 0x3FECAF5980000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2715 - store float 0x3FE76F05C0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2715 - store float 0x3FC624C820000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2715 - store float 0x3FEC8AE060000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2715 - store float 0x3FE91355C0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2715 - store float 0x3FE21CD440000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2715 - store float 0x3FD757FB20000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2715 - store float 0x3FE5F683E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2715 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2715 - store float 0x3FE27937A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2715 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2715 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2715 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2715 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2718 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1538 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm12EE6_S_refERA12_Kim(ptr addrspace(4) noundef align 4 dereferenceable(48) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [12 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300479EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2719 - store float 0x3FECC05800000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2719 - store float 0x3FE87CFE60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2719 - store float 0x3FE9312EC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2719 - store float 0x3FD4E762A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2719 - store float 0x3FE9B3FD20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2719 - store float 0x3FE32A2120000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2719 - store float 0x3FE8D06AC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2719 - store float 0x3FE9DDEF00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2719 - store float 0x3FE3C19080000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2719 - store float 0x3FEC8DAA20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2719 - store float 0x3FD824BD00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2719 - store float 0x3FDD4803E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2719 - store float 0x3FE3BDB4C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2719 - store float 0x3FE13011C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2719 - store float 0x3FDACADC60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2719 - store float 0x3FD8648B40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2719 - store float 0x3FBAEDE600000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2719 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2719 - store i32 -29757, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2719 - store i32 28880, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2719 - store i32 23024, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2719 - store i32 -3874, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2719 - store i32 -25042, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2719 - store i32 7231, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2719 - store i32 -7247, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2719 - store i32 -4266, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2719 - store i32 -17724, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2719 - store i32 20302, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2719 - store i32 -17303, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2719 - store i32 -25730, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2719 - store i32 1619, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2719 - store i32 9009, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2719 - store i32 11765, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2719 - store i32 -26079, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2719 - store i32 26414, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !2719 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2719 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2719 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2719 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2719 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !2719 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2719 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300157EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE156_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2722 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300323EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300323EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE322_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301055EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301055EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE790_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.28.4", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !2018 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !2725 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_cbrtDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2728 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300579EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300579EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE462_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300097EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE96_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2729 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2729 - store float 0x3FE3721340000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2729 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2729 - store float 0x3FDB0E0360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2729 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2729 - store float 0x3FE72181C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2729 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2729 - store float 0x3FE7609980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2729 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2729 - store float 0x3FD55D08A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2729 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2729 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2729 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2729 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2729 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2729 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2729 - call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2729 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300692EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1520.196, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 - store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300692EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE1_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { -entry: - br label %arrayinit.body - -arrayinit.body: ; preds = %arrayinit.body, %entry - %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] - %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx - store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 - %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 - %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 5 - br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body - -arrayinit.end2: ; preds = %arrayinit.body - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1345 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300980EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE727_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.1816.212, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2732 - store float 0x3FE184E700000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2732 - store float 0x3FC9645300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2732 - store float 0x3FE5C04D00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2732 - store float 0x3FEBD17FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2732 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2732 - store float 0x3FE374AF60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2732 - store float 0x3FD2909140000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2732 - store float 0x3FD60EBE00000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2732 - store float 0x3FD35FD320000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2732 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2732 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2732 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2732 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2732 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2732 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2732 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2732 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !2732 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2732 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !2732 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !2732 - store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !2732 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2732 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300190EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE189_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2735 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_Z23__spirv_WorkgroupSize_xv() #5 comdat !srcloc !2738 { -entry: - %0 = load i64, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, align 32 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300056EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE55_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !376 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !2739 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !2739 - %call3.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_hypotDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300596EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE467_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2401.238, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2742 - store float 0x3FDC103740000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2742 - store float 0x3FE124A3C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2742 - store float 0x3FE31E8BE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2742 - store float 0x3FE99BF0E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2742 - store float 0x3FC42B18C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2742 - store float 0x3FD215E540000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2742 - store float 0x3FD1741BC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2742 - store float 0x3FE39EB060000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2742 - store float 0x3FE3B64200000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2742 - store float 0x3FEC8F6660000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2742 - store float 0x3FE0F45840000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2742 - store float 0x3FCEB540E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2742 - store float 0x3FDB24EB80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2742 - store float 0x3FD2DB48C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2742 - store float 0x3FC5D6C6C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2742 - store float 0x3FE6C6AC00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2742 - store float 0x3FBC4AE9E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2742 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2742 - store i32 7635, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2742 - store i32 19945, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2742 - store i32 29444, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2742 - store i32 -24890, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2742 - store i32 -13769, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2742 - store i32 14988, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2742 - store i32 -16603, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2742 - store i32 7335, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2742 - store i32 -13686, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2742 - store i32 17439, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2742 - store i32 22274, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2742 - store i32 31116, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2742 - store i32 28738, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2742 - store i32 9664, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2742 - store i32 -10530, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2742 - store i32 -38, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2742 - store i32 12295, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !2742 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2742 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2742 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2742 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2742 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !2742 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !2742 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2742 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301008EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE743_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300092EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE91_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2745 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2748 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2750 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2751 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2752 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2753 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300778EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300778EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE601_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(12) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1961 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300887EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300887EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE666_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIiLm4EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(16) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %Arr, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %Arr, i64 noundef 1) #13 - %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element3 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 2 - %call4 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %Arr, i64 noundef 2) #13 - %3 = load i32, ptr addrspace(4) %call4, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element3, align 4, !tbaa !126 - %arrayinit.element5 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 3 - %call6 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %Arr, i64 noundef 3) #13 - %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element5, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2754 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2755 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2755 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_sinpiDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300396EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2758 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2758 - store float 0x3FD705CE60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2758 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2758 - store float 0x3FDD36E4E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2758 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2758 - store float 0x3FE5637C40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2758 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2758 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2758 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2758 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2758 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2758 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2758 - store float 0x3FE12F08C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2758 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2758 - store float 0x3FE6847600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2758 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2758 - store float 0x3FDAB0E460000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2758 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2758 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2758 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2758 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2758 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2758 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !2758 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2758 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !2758 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2758 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2758 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2758 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300796EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE619_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2761 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2761 - store float 0x3FDD106420000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2761 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2761 - store float 0x3FE69CB6A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2761 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2761 - store float 0x3FDE7664C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2761 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2761 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2761 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2761 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2761 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2761 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2761 - store float 0x3FE05438A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2761 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2761 - store float 0x3FD5F99520000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2761 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2761 - store float 0x3FE988DB40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2761 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2761 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2761 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2761 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2761 - call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !2761 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2761 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIiEPU3AS1T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2764 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPvi(ptr addrspace(4) noundef %Ptr, i32 noundef 5) #15 - ret ptr addrspace(1) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2765 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !2767 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this) #4 comdat align 2 !srcloc !569 { -entry: - br label %arrayinit.body - -arrayinit.body: ; preds = %arrayinit.body, %entry - %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] - %arrayinit.cur.ptr = getelementptr inbounds i32, ptr addrspace(4) %this, i64 %arrayinit.cur.idx - store i32 0, ptr addrspace(4) %arrayinit.cur.ptr, align 4, !tbaa !126 - %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 - %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 2 - br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body - -arrayinit.end2: ; preds = %arrayinit.body - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301038EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE773_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2769 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2769 - store float 0x3FBD6C4BE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2769 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2769 - store float 0x3FC82B07A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2769 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2769 - store float 0x3FE0CF0940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2769 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2769 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2769 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2769 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2769 - call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2769 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2772 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300784EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE607_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2773 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2773 - store float 0x3FC4242F00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2773 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2773 - store float 0x3FECA13F80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2773 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2773 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2773 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2773 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2773 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2773 - store i32 28344, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !2773 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2773 - store i32 6031, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2773 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2773 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2773 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2773 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2773 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2773 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !2773 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !69, !noalias !2773 - call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2773 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2773 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300452EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE383_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %result = alloca %struct.privatePtrCheck.2212.230, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2776 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2776 - store float 0x3FE6EC5720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2776 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2776 - store float 0x3FE3E3A960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2776 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2776 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2776 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2776 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2776 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2776 - store i32 -26653, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !2776 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2776 - store i32 16438, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !2776 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2776 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2776 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2776 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2776 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2776 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !2776 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2776 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2776 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2776 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !2776 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !2776 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !2776 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !2776 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !2776 - store i64 %3, ptr %agg.tmp7.i, align 8, !tbaa !69, !noalias !2776 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !2776 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2776 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2776 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2776 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 4, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300094EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE93_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2779 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2779 - store float 0x3FEAC05E40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2779 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2779 - store float 0x3FCD8C4A40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2779 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !2779 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2779 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2779 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !2779 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2779 - call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !2779 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2782 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2784 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300577EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300577EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300661EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300661EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE528_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !508 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm14EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(28) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm14EE6_S_refERA14_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(28) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300256EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300256EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE255_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300120EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300120EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE119_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm3EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayIiLm3EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !168 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !2785 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !2785 - %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fminDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300686EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300686EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE553_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300660EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300660EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE527_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2788 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300912EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE691_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 64399661021859, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2789 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300878EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE657_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2792 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300049EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE48_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2795 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2798 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !628 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !2800 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_floorDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300029EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE28_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300518EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE429_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2803 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, i32 noundef 10839) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2806 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2807 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2807 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_atanhDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300026EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE25_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !2810 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300350EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE349_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.195, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2813 - store i16 14054, ptr %multiPtrSourceData.i, align 2, !noalias !2813 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2813 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2813 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2813 - store half 0xH300B, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2813 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2813 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !2813 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !2813 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !2813 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !2813 - %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !2813 - store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !2813 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !2813 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2813 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2813 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %4 = load i16, ptr %resArg, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IDv2_DF16_vEES7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, <2 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { -entry: - store <2 x half> %openclVector, ptr addrspace(4) %this, align 4, !tbaa !69 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300630EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300630EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE497_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2816 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EEC2EPU3AS0S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !2817 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !557 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2819 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2819 - %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_tanDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300791EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE614_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 52120313738234, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2822 - store i64 61844179728599, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2822 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2466 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2825 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2825 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !2825 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2826 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300524EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE435_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2827 - store float 0x3FDD47FC20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2827 - store float 0x3FD0438D00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2827 - store float 0x3FD0F6DE40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2827 - store float 0x3FDE0BB820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2827 - store float 0x3FE75482C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2827 - store float 0x3FCD86DAC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2827 - store float 0x3FD1CBA200000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2827 - store float 0x3FDC707320000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2827 - store float 0x3FD496D820000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2827 - store float 0x3FD18EC9A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2827 - store float 0x3FE3CE72E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2827 - store float 0x3FDE129DA0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2827 - store float 0x3FCA5B9140000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2827 - store float 0x3FDC8B2520000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2827 - store float 0x3FDD6291E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2827 - store float 0x3FE5D8FAC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2827 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2827 - store float 0x3FEA111840000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2827 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2827 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2827 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, i32 noundef -26095) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2827 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a2) #2 comdat !srcloc !2830 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - %2 = load i16, ptr %a2, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2831 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2831 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2831 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2831 - store i16 %2, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !2831 - %call4.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #13, !noalias !2831 - %call5.i = tail call spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef %call.i, half noundef %call2.i, half noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE77_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2834 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !2834 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE807_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2837 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2837 - store float 0x3FD324DA40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2837 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2837 - store float 0x3FDEA84080000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2837 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2837 - store float 0x3FBBD80160000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2837 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2837 - store float 0x3FD56A5320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2837 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2837 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2837 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2837 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2837 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2837 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2837 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2837 - call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2837 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300145EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE144_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 51531983697365, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2840 - store i64 64756168407558, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !2840 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300586EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2317, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300586EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300595EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300595EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv24InitSizesSTNumWorkgroupsILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !2843 { -entry: - %call = tail call spir_func noundef i64 @_ZN7__spirvL16getNumWorkgroupsILi0EEEmv() #13 - tail call spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2844 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm17EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm17EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300800EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300800EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE623_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !2845 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2846 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2846 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2846 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2846 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_powrDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm17EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm2EE6_S_refERA2_Kim(ptr addrspace(4) noundef align 4 dereferenceable(8) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [2 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300969EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300969EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE724_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300392EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE363_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1778.210, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2849 - store float 0x3FE8CC4560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2849 - store float 0x3FC25ED300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2849 - store float 0x3FC0B71060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2849 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2849 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2849 - store float 0x3FE612CB60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2849 - store float 0x3FC600B800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2849 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2849 - store float 0x3FE64EE1C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2849 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2849 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2849 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2849 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !2849 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2849 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !2849 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !2849 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2849 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm13EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(52) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(52) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300214EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE213_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2852 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2855 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2855 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !2855 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !2855 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !2855 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300005EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300005EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE4_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !2858 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE62_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2860 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2860 - store float 0x3FE8C38400000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2860 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2860 - store float 0x3FE21F9C00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2860 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2860 - store float 0x3FE5958C20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2860 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2860 - store float 0x3FE7DC5180000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2860 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2860 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2860 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2860 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2860 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2860 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2860 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2860 - call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2860 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2863 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300790EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE613_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2864 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !2864 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300239EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE238_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2867 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2867 - store float 0x3FE5B829E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2867 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2867 - store float 0x3FBAD484A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2867 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2867 - store float 0x3FDB20FBE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2867 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2867 - store float 0x3FE6C38240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2867 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2867 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2867 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2867 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2867 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2867 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2867 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2867 - call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2867 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !2018 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2870 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2870 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_cbrtDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300194EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE193_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2873 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2873 - store float 0x3FDC7210A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2873 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2873 - store float 0x3FDACC4640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2873 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2873 - store float 0x3FC4998540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2873 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2873 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2873 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2873 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2873 - call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2873 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2876 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !2878 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !2879 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !2878 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300349EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE348_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2880 - store float 0x3FE1878FA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2880 - store float 0x3FD93E1600000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2880 - store float 0x3FDC2F04E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2880 - store float 0x3FE7D6F840000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2880 - store float 0x3FE2475EE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2880 - store float 0x3FEC0B5E60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2880 - store float 0x3FE29F9260000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2880 - store float 0x3FD4E78C00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2880 - store float 0x3FE055F440000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2880 - store float 0x3FDE9CD1A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2880 - store float 0x3FE908EFC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2880 - store float 0x3FE6147A20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2880 - store float 0x3FE9BE3860000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2880 - store float 0x3FE5939100000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2880 - store float 0x3FD35E22E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2880 - store float 0x3FD45E3EA0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2880 - store float 0x3FCD92F060000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2880 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2880 - store float 0x3FE9B41700000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2880 - store float 0x3FEA3DFBA0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2880 - store float 0x3FD6F76C60000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2880 - store float 0x3FBE5B3000000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2880 - store float 0x3FDEAEB840000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2880 - store float 0x3FE761EC60000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2880 - store float 0x3FE53218A0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2880 - store float 0x3FE47ED620000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2880 - store float 0x3FBDE76260000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2880 - store float 0x3FC73C7500000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2880 - store float 0x3FE5DE3080000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2880 - store float 0x3FE827A820000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2880 - store float 0x3FCF758600000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2880 - store float 0x3FE8196DE0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2880 - store float 0x3FEB8D82E0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2880 - store float 0x3FE29A12C0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2880 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2880 - store float 0x3FE152F400000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2880 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2880 - call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2880 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2880 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300315EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300315EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE314_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300218EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE217_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2883 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2883 - store float 0x3FDFC6BA20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2883 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2883 - store float 0x3FEB70D4C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2883 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2883 - store float 0x3FE03AD760000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2883 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2883 - store float 0x3FD7DA45E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2883 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2883 - store float 0x3FC4BC7680000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2883 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2883 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2883 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2883 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2883 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2883 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2883 - call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2883 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !716 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2886 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2886 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_atanDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2889 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300276EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300276EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE275_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300355EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300355EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300584EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE463_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.2307.234, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2890 - store float 0x3FE2504940000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2890 - store float 0x3FE84BAE60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2890 - store float 0x3FB9E37360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2890 - store float 0x3FE8D916C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2890 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2890 - store i32 -10198, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2890 - store i32 -5157, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2890 - store i32 -30426, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2890 - store i32 28557, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2890 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2890 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2890 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2890 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2890 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2890 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2890 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !2890 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !2890 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !2890 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !2890 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2890 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300982EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1824.213, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300982EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp29 = alloca %"struct.std::array.135.14", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp29.ascast = addrspacecast ptr %ref.tmp29 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 30, ptr nonnull %ref.tmp29) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.135.14") align 2 %ref.tmp29.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm15EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(30) %ref.tmp29.ascast) #13 - call void @llvm.lifetime.end.p0(i64 30, ptr nonnull %ref.tmp29) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemoryRange) #4 comdat align 2 !srcloc !2893 { -entry: - %0 = load i64, ptr %Offset, align 8 - store i64 %0, ptr addrspace(4) %this, align 8 - %AccessRange3 = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load i64, ptr %AccessRange, align 8 - store i64 %1, ptr addrspace(4) %AccessRange3, align 8 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - %2 = load i64, ptr %MemoryRange, align 8 - store i64 %2, ptr addrspace(4) %MemRange, align 8 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.40.5", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1266 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %t) #1 comdat !srcloc !1175 { -entry: - %t.addr = alloca <8 x half>, align 16 - %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) - store <8 x half> %t, ptr %t.addr, align 16, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr addrspace(4) noundef align 16 dereferenceable(16) %t.addr.ascast) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef nonnull align 4 dereferenceable(68) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2894 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2895 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300871EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE654_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp35.i = alloca i32, align 4 - %ref.tmp36.i = alloca i32, align 4 - %ref.tmp37.i = alloca i32, align 4 - %ref.tmp38.i = alloca i32, align 4 - %ref.tmp39.i = alloca i32, align 4 - %ref.tmp40.i = alloca i32, align 4 - %ref.tmp41.i = alloca i32, align 4 - %ref.tmp42.i = alloca i32, align 4 - %ref.tmp43.i = alloca i32, align 4 - %ref.tmp44.i = alloca i32, align 4 - %ref.tmp45.i = alloca i32, align 4 - %ref.tmp46.i = alloca i32, align 4 - %ref.tmp47.i = alloca i32, align 4 - %ref.tmp48.i = alloca i32, align 4 - %ref.tmp49.i = alloca i32, align 4 - %ref.tmp50.i = alloca i32, align 4 - %ref.tmp51.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp53.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2401.238, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp53.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) - %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) - %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) - %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) - %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) - %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) - %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) - %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) - %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) - %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) - %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) - %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) - %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) - %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) - %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) - %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) - %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2897 - store float 0x3FEAAFBE60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2897 - store float 0x3FDE3A0960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2897 - store float 0x3FEA525F80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2897 - store float 0x3FCE0829C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2897 - store float 0x3FD97B82A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2897 - store float 0x3FEBB9F960000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2897 - store float 0x3FE447CFA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2897 - store float 0x3FE20E39C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2897 - store float 0x3FD944A600000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2897 - store float 0x3FE9BDEDE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2897 - store float 0x3FE27897E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2897 - store float 0x3FC6F6D880000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2897 - store float 0x3FE3ACE300000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2897 - store float 0x3FE72E4740000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2897 - store float 0x3FE8A6BE40000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2897 - store float 0x3FD58F5320000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2897 - store float 0x3FEC8A1760000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2897 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2897 - store float 0x3FCABC6E80000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2897 - store float 0x3FD5084AE0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2897 - store float 0x3FC8EED540000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2897 - store float 0x3FC78461A0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2897 - store float 0x3FE04E8C00000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2897 - store float 0x3FE1FC8160000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2897 - store float 0x3FCEC181C0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2897 - store float 0x3FE4C7A060000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2897 - store float 0x3FE9A51680000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2897 - store float 0x3FE4F38BE0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2897 - store float 0x3FD085CEC0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2897 - store float 0x3FE365C180000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2897 - store float 0x3FEBC462C0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2897 - store float 0x3FDB3EEC00000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2897 - store float 0x3FEB213D00000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2897 - store float 0x3FE5AE28A0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2897 - store float 0x3FDDBBDAE0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !2897 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !2897 - store i32 -6823, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !2897 - store i32 27050, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !2897 - store i32 27898, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !2897 - store i32 -28744, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !2897 - store i32 -21105, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !2897 - store i32 -14842, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !2897 - store i32 15561, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !2897 - store i32 21657, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !2897 - store i32 4083, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !2897 - store i32 -11869, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !2897 - store i32 -25549, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !2897 - store i32 8423, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !2897 - store i32 9353, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !2897 - store i32 7109, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !2897 - store i32 -12502, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !2897 - store i32 5526, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !2897 - store i32 -11151, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !2897 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2897 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2897 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2897 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !2897 - store i64 %0, ptr %agg.tmp53.i, align 8, !tbaa !128, !noalias !2897 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp53.i) #14, !noalias !2897 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2897 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp53.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2900 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2902 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2903 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2904 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300470EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE389_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2354.236, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2905 - store float 0x3FCC731520000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2905 - store float 0x3FD8B66FA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2905 - store float 0x3FDBA91AA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2905 - store float 0x3FD5C33400000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2905 - store float 0x3FE6D8E880000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2905 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2905 - store i32 9470, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2905 - store i32 23274, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2905 - store i32 -10364, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2905 - store i32 26424, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2905 - store i32 -14688, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2905 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2905 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2905 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2905 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2905 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !2905 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !2905 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2905 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE749_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2908 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1032 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300849EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2223, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300849EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1225 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2911 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !2911 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_exp2Dv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300603EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300603EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE470_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300088EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE87_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH38C3, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2914 - call spir_func void @_ZN4sycl3_V15atanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2917 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300186EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300186EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE185_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm4EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1799 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2918 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300342EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300342EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE341_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301056EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE791_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300617EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300617EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE484_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !2919 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2922 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm17EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !2923 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2924 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2924 - %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_tgammaDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1538 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(68) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2927 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300928EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE707_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2928 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2928 - store float 0x3FCFC05060000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2928 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2928 - store float 0x3FE5A2D320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2928 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2928 - store float 0x3FE9D9C840000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2928 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2928 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2928 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2928 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2928 - call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2928 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE46_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2931 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(18) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 7) #13 - %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 - %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %A2, i64 noundef 8) #13 - %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 - store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayIiLm5EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301043EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE778_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2934 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300077EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE76_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH3929, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2937 - store half 0xH39FC, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !2937 - call spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %agg.result, i64 noundef %mul) #13 - %1 = load i64, ptr %PartialRes, align 8 - store i64 %1, ptr addrspace(4) %call, align 4 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2940 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.1972") align 8 %a1) #2 comdat !srcloc !635 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.1972", align 8 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2941 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2941 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !2941 - %call2.i = tail call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp1.i) #13, !noalias !2941 - %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_pownDv2_DF16_Dv2_i(<2 x half> noundef %call.i, <2 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm5EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp9, align 2, !tbaa !99 - %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp11, align 2, !tbaa !99 - %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a2.ascast, i64 noundef 4) #13 - %2 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp13, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 - %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call15, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a2, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %4 = load i32, ptr %PartialRes, align 4 - store i32 %4, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2945 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300333EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300333EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE332_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300467EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2946 - store float 0x3FD16B7680000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2946 - store float 0x3FE25E1BE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2946 - store float 0x3FD0BB4BA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2946 - store float 0x3FDE5116C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2946 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2946 - store i32 -19420, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2946 - store i32 25250, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2946 - store i32 -6993, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2946 - store i32 13305, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2946 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2946 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2946 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2946 - %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2946 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !2946 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2946 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !2946 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2946 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2919 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300013EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE12_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300471EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE390_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2354.236, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2949 - store float 0x3FE42C1EA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2949 - store float 0x3FCB1790A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2949 - store float 0x3FE1096240000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2949 - store float 0x3FE3520420000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2949 - store float 0x3FD6A3BB20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2949 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2949 - store i32 -28833, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2949 - store i32 -13779, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2949 - store i32 14073, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2949 - store i32 9891, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2949 - store i32 -6097, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2949 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2949 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2949 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2949 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2949 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !2949 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !2949 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2949 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE765_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2952 - store float 0x3FE14C8DA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2952 - store float 0x3FC3E61480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2952 - store float 0x3FE528FDA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2952 - store float 0x3FDEBE5D00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2952 - store float 0x3FE09A7F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2952 - store float 0x3FE6B88920000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2952 - store float 0x3FE1F97B20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2952 - store float 0x3FC5615F00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2952 - store float 0x3FD9B816C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2952 - store float 0x3FE1FDBC20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2952 - store float 0x3FCF99CB00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2952 - store float 0x3FCBA63A40000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2952 - store float 0x3FE2142A00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2952 - store float 0x3FDA0D56A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2952 - store float 0x3FE76041A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2952 - store float 0x3FBB448660000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2952 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2952 - store float 0x3FE1D08DE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2952 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2952 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2952 - call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2952 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300009EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300009EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE8_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300614EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300614EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE481_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300095EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE94_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2955 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2955 - store float 0x3FDBA3AA40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2955 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2955 - store float 0x3FD53B7340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2955 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2955 - store float 0x3FE081FC20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2955 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !2955 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2955 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2955 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2955 - call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !2955 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2958 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJLm0ELm1EEEERKSt5arrayIS4_Lm2EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, ptr addrspace(4) noundef align 2 dereferenceable(4) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %Arr, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %Arr, i64 noundef 1) #13 - %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301055EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE790_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 59331623401865, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2959 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2962 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300506EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE417_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2018", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store i64 60817699254823, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !2963 - call void @llvm.memcpy.p0.p1.i64(ptr align 16 %agg.tmp2.i, ptr addrspace(1) align 16 @__const._ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE417_clEv.inputData_1, i64 16, i1 false), !noalias !2963 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEENS2_IiLi3EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2018") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14atanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !2966 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300096EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300096EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE95_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1089 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300666EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300666EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE533_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300793EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300793EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE616_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !208 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !2967 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !2967 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_log1pDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(20) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2970 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1730 - ret ptr addrspace(3) %0 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1756 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300899EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE678_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH34A0, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !2971 - call spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301076EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE811_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !2974 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301037EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301037EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE772_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1900 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !2977 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm3EE6_S_refERA3_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(6) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [3 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, i32 noundef %i) #1 comdat align 2 !srcloc !1501 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300756EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300756EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE579_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1233 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !2978 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !2979 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !2980 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300530EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300530EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE441_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a2) #2 comdat !srcloc !2981 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - %2 = load i16, ptr %a2, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !2982 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !2982 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !2982 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !2982 - store i16 %2, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !2982 - %call4.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #13, !noalias !2982 - %call5.i = tail call spir_func noundef half @_Z15__spirv_ocl_madDF16_DF16_DF16_(half noundef %call.i, half noundef %call2.i, half noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300037EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300037EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE36_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300741EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2985 - store float 0x3FE77F5760000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2985 - store float 0x3FC3A5D900000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2985 - store float 0x3FD82A18C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2985 - store float 0x3FE7BDD180000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2985 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2985 - store float 0x3FE00C1E60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2985 - store float 0x3FE49BD700000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2985 - store float 0x3FDB2D6780000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2985 - store float 0x3FC61059E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2985 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2985 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2985 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2985 - %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !2985 - store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !2985 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2985 - store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !2985 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !2985 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300168EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE167_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !2988 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300597EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE468_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2401.238, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2991 - store float 0x3FEA1EB1C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2991 - store float 0x3FE30A8E20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2991 - store float 0x3FCE63F0E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2991 - store float 0x3FDB35FDC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2991 - store float 0x3FD9F8B620000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2991 - store float 0x3FE782FFC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2991 - store float 0x3FE8D84D20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2991 - store float 0x3FE1188CA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2991 - store float 0x3FDB43C120000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2991 - store float 0x3FDD179C80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2991 - store float 0x3FC4F35D20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2991 - store float 0x3FE4D1D260000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2991 - store float 0x3FDA0449C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2991 - store float 0x3FBEBE9440000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2991 - store float 0x3FE4FB3700000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2991 - store float 0x3FE6CDB6A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2991 - store float 0x3FD1B9DCE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !2991 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2991 - store i32 -31369, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2991 - store i32 -31600, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2991 - store i32 5555, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2991 - store i32 -32688, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2991 - store i32 -24685, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2991 - store i32 -1237, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2991 - store i32 10674, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2991 - store i32 14672, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2991 - store i32 13197, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2991 - store i32 -21730, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2991 - store i32 3964, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2991 - store i32 -29928, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2991 - store i32 -14917, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2991 - store i32 -24994, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2991 - store i32 -23728, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2991 - store i32 11004, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2991 - store i32 -22766, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !2991 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2991 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !2991 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2991 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2991 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !2991 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !2991 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !2991 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300472EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2994 - store float 0x3FC95298E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2994 - store float 0x3FEAAF11E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2994 - store float 0x3FD8FA3BC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2994 - store float 0x3FC1C08240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2994 - store float 0x3FE513E600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !2994 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2994 - store i32 -2561, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2994 - store i32 -30606, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2994 - store i32 26864, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2994 - store i32 29620, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2994 - store i32 -24172, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !2994 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !2994 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2994 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !2994 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !2994 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !2994 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !2994 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2415 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300387EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300387EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE362_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2997 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2250", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301058EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE793_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !2999 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3002 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3003 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3003 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3003 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !3003 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS3i(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !3003 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300590EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE465_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2354.236, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3006 - store float 0x3FDEA0B0A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3006 - store float 0x3FD67EE200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3006 - store float 0x3FD1BCB9A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3006 - store float 0x3FE75876E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3006 - store float 0x3FCE08DBC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3006 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3006 - store i32 -6090, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3006 - store i32 26832, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3006 - store i32 -8243, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3006 - store i32 30755, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3006 - store i32 -15638, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !3006 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3006 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3006 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !3006 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3006 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !3006 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !3006 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3006 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300142EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300142EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE141_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300346EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE345_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3009 - store float 0x3FE9F42B00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3009 - store float 0x3FC74805E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3009 - store float 0x3FE2FB95C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3009 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3009 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3009 - store float 0x3FE6281080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3009 - store float 0x3FD2FC9AA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3009 - store float 0x3FE89E64A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3009 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3009 - call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3009 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3009 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300873EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp35.i = alloca i32, align 4 - %ref.tmp36.i = alloca i32, align 4 - %ref.tmp37.i = alloca i32, align 4 - %ref.tmp38.i = alloca i32, align 4 - %ref.tmp39.i = alloca i32, align 4 - %ref.tmp40.i = alloca i32, align 4 - %ref.tmp41.i = alloca i32, align 4 - %ref.tmp42.i = alloca i32, align 4 - %ref.tmp43.i = alloca i32, align 4 - %ref.tmp44.i = alloca i32, align 4 - %ref.tmp45.i = alloca i32, align 4 - %ref.tmp46.i = alloca i32, align 4 - %ref.tmp47.i = alloca i32, align 4 - %ref.tmp48.i = alloca i32, align 4 - %ref.tmp49.i = alloca i32, align 4 - %ref.tmp50.i = alloca i32, align 4 - %ref.tmp51.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp54.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp54.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) - %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) - %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) - %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) - %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) - %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) - %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) - %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) - %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) - %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) - %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) - %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) - %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) - %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) - %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) - %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) - %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3012 - store float 0x3FE9715860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3012 - store float 0x3FD0353120000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3012 - store float 0x3FE3609B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3012 - store float 0x3FDA27F0A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3012 - store float 0x3FD2C3F580000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3012 - store float 0x3FE6932300000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3012 - store float 0x3FE06227C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3012 - store float 0x3FE9743E20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3012 - store float 0x3FEAD23EA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3012 - store float 0x3FDC5AFB60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3012 - store float 0x3FE2E08000000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3012 - store float 0x3FDD02CD60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3012 - store float 0x3FE15C7340000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3012 - store float 0x3FEAB73020000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3012 - store float 0x3FE44F6580000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3012 - store float 0x3FD9164160000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3012 - store float 0x3FD0FCF2C0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3012 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3012 - store float 0x3FC4DF76A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3012 - store float 0x3FE311E9C0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3012 - store float 0x3FEC1BA540000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3012 - store float 0x3FD38E8240000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3012 - store float 0x3FC7843120000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3012 - store float 0x3FC233C560000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3012 - store float 0x3FE0A008C0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3012 - store float 0x3FD8590760000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3012 - store float 0x3FE59CC280000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3012 - store float 0x3FDBF53940000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3012 - store float 0x3FE07F68C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3012 - store float 0x3FD4341740000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3012 - store float 0x3FBE339B80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3012 - store float 0x3FE02466C0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3012 - store float 0x3FBBCFB800000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3012 - store float 0x3FC5C3C9A0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3012 - store float 0x3FD27B4020000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3012 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !3012 - store i32 18114, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !3012 - store i32 27904, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !3012 - store i32 -480, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !3012 - store i32 -10611, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !3012 - store i32 13974, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !3012 - store i32 -12569, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !3012 - store i32 -14218, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !3012 - store i32 10908, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !3012 - store i32 -10276, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !3012 - store i32 17638, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !3012 - store i32 12372, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !3012 - store i32 12972, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !3012 - store i32 8282, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !3012 - store i32 19140, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !3012 - store i32 -12097, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !3012 - store i32 24911, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !3012 - store i32 18283, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !3012 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !3012 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3012 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3012 - %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !3012 - store i64 %1, ptr %agg.tmp54.i, align 8, !tbaa !128, !noalias !3012 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp54.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3012 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp54.i) - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3016 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3018 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3019 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3018 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300916EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE695_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3020 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3020 - store float 0x3FD35AE4E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3020 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3020 - store float 0x3FE80F3020000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3020 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3020 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3020 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3020 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3020 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3020 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3020 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300464EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300464EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE387_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300280EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300280EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE279_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300732EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300732EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE571_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3024 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3025 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm11EE6_S_refERA11_Kim(ptr addrspace(4) noundef align 4 dereferenceable(44) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [11 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3026 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300139EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300139EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE138_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301061EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE796_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1357 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3028 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3028 - %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_acospiDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300768EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE591_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3031 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !3031 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300769EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300769EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE592_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300412EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1900.217, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300412EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !497 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fdimENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300656EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE523_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3034 - store float 0x3FD3FAEF80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3034 - store float 0x3FD3F31440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3034 - store float 0x3FDD3ABD60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3034 - store float 0x3FDB535080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3034 - store float 0x3FE5449940000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3034 - store float 0x3FDBCBD5A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3034 - store float 0x3FE9E25BE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3034 - store float 0x3FC74816A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3034 - store float 0x3FCC0FEA40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3034 - store float 0x3FE6C29B20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3034 - store float 0x3FE9C0AF00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3034 - store float 0x3FE0C90480000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3034 - store float 0x3FE16D0BC0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3034 - store float 0x3FE2104B40000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3034 - store float 0x3FE7F25340000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3034 - store float 0x3FE8C1C1A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3034 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3034 - store float 0x3FD6ABFFE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3034 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3034 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3034 - call spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3034 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3037 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300576EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3038 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3038 - store float 0x3FE89D6400000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3038 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3038 - store float 0x3FEA888420000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3038 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3038 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3038 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3038 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3038 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3038 - store i32 -13410, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !3038 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3038 - store i32 31168, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3038 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3038 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3038 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3038 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3038 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3038 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3038 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3038 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3038 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !3038 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3038 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3038 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3038 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300272EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE271_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3041 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3041 - store float 0x3FE7E63EC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3041 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3041 - store float 0x3FDF7659A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3041 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3041 - store float 0x3FDD6110C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3041 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3041 - store float 0x3FC9622040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3041 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3041 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3041 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3041 - store float 0x3FD992AA40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3041 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3041 - store float 0x3FE087CC20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3041 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3041 - store float 0x3FD23A5320000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3041 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3041 - store float 0x3FE7E21620000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3041 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3041 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3041 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3041 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !3041 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3041 - call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3041 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300679EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300679EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE546_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm4EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(8) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(8) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3044 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3045 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !2018 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3046 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_cbrtDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3049 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300535EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300535EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE446_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300140EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE139_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3050 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3050 - store float 0x3FE6FC8F00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3050 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3050 - store float 0x3FE1CE0640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3050 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3050 - store float 0x3FD3D65700000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3050 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3050 - store float 0x3FE4C87FA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3050 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3050 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3050 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3050 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3050 - call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3050 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !374 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3053 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300059EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE58_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3054 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %t) #1 comdat !srcloc !971 { -entry: - %0 = load <2 x half>, ptr addrspace(4) %t, align 4, !tbaa !69 - tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IDv2_DF16_vEES7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, <2 x half> noundef %0) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(6) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3057 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %t) #1 comdat !srcloc !1367 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - %call5 = call spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %agg.result, i64 noundef 4) #13 - store i32 %call5, ptr addrspace(4) %call6, align 4, !tbaa !126 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %agg.result, i64 noundef %mul) #13 - %1 = load i64, ptr %PartialRes, align 8 - store i64 %1, ptr addrspace(4) %call, align 4 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3058 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300813EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1945, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !1412 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300813EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300505EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300505EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE416_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !183 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3059 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3059 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3059 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3059 - %call3.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_powDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE792_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3062 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300159EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300159EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE158_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300072EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE71_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm5EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !843 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3065 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3065 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_truncDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3068 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300968EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE723_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %result = alloca %struct.privatePtrCheck.1740.208, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3069 - store float 0x3FECBAB240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3069 - store float 0x3FDF0BEF40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3069 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3069 - store float 0x3FD26DE980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3069 - store float 0x3FE073E9C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3069 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3069 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3069 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3069 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3069 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3069 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3069 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3069 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !3069 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !3069 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !3069 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !3069 - %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !3069 - store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !3069 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3069 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3069 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i32, ptr %resArg, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300861EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2317, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300861EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3072 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301009EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301009EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE744_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <8 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_iNS0_3vecIiLi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 32 dereferenceable(32) %t) #1 comdat !srcloc !142 { -entry: - %call = tail call spir_func noundef <8 x i32> @_ZNK4sycl3_V13vecIiLi8EEcvDv8_iEv(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %t) #13 - ret <8 x i32> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300742EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3073 - store float 0x3FBF479660000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3073 - store float 0x3FEAF387E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3073 - store float 0x3FE9EEAAE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3073 - store float 0x3FE0467260000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3073 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3073 - store float 0x3FDB73D380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3073 - store float 0x3FC6D05EC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3073 - store float 0x3FE88C71E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3073 - store float 0x3FE748EC40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3073 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3073 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3073 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3073 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3073 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3073 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3073 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3073 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3073 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300073EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE72_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3076 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE769_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3078 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300154EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE153_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH39B2, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3081 - call spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3084 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !208 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3085 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3085 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_log1pDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3088 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(12) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3089 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.137.15") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(26) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 7) #13 - %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 - %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 8) #13 - %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 - store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 - %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 9) #13 - %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 - store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 - %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 10) #13 - %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 - store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 - %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 11) #13 - %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 - store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 - %arrayinit.element24 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 13 - %call25 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm13EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(26) %A2, i64 noundef 12) #13 - %15 = load i16, ptr addrspace(4) %call25, align 2, !tbaa !99 - store i16 %15, ptr addrspace(4) %arrayinit.element24, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300043EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE42_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3090 - store float 0x3FE088BE80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3090 - store float 0x3FE3DC2C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3090 - store float 0x3FD82B4B20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3090 - store float 0x3FE9850C00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3090 - store float 0x3FD4A792C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3090 - store float 0x3FBD676E00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3090 - store float 0x3FC0F6C360000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3090 - store float 0x3FE4A22E40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3090 - store float 0x3FE17E70A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3090 - store float 0x3FEB6E3300000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3090 - store float 0x3FEB395A40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3090 - store float 0x3FEA7E0020000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3090 - store float 0x3FC119EC80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3090 - store float 0x3FE660BAE0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3090 - store float 0x3FE5276700000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3090 - store float 0x3FE3FA2E00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3090 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3090 - store float 0x3FE56FB500000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3090 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3090 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3090 - call spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3090 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300995EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3093 - store float 0x3FE178FEC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3093 - store float 0x3FE3040540000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3093 - store float 0x3FE0DAFB80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3093 - store float 0x3FE23C2A40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3093 - store float 0x3FD817D900000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3093 - store float 0x3FE7629520000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3093 - store float 0x3FE79EFB20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3093 - store float 0x3FEB550640000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3093 - store float 0x3FC3898760000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3093 - store float 0x3FEAC28560000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3093 - store float 0x3FEB641440000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3093 - store float 0x3FE7AAC7A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3093 - store float 0x3FEA169080000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3093 - store float 0x3FE2B640E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3093 - store float 0x3FDE4D0300000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3093 - store float 0x3FEC61D480000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3093 - store float 0x3FE3017440000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3093 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3093 - store float 0x3FE988D3A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3093 - store float 0x3FE4C56640000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3093 - store float 0x3FC03BF500000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3093 - store float 0x3FD4400CE0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3093 - store float 0x3FE8CD6F40000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3093 - store float 0x3FEAFB65C0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3093 - store float 0x3FD5873EC0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3093 - store float 0x3FC2A1C060000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3093 - store float 0x3FD648E040000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3093 - store float 0x3FD98BD1A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3093 - store float 0x3FE3239540000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3093 - store float 0x3FEAD67EE0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3093 - store float 0x3FD03833A0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3093 - store float 0x3FD3117620000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3093 - store float 0x3FEBE4BC80000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3093 - store float 0x3FD4173AC0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3093 - store float 0x3FE206F980000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3093 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3093 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3093 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3093 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3093 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3093 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3093 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3096 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - %agg.tmp13.sroa.0.0.copyload = load i64, ptr %agg.tmp1, align 8 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3097 - %call.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3097 - store i64 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3097 - %call2.i = call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !3097 - %call7.i = call spir_func noundef <3 x half> @_Z16__spirv_ocl_fminDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300572EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE459_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %result = alloca %struct.privatePtrCheck.2212.230, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3100 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3100 - store float 0x3FD36054A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3100 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3100 - store float 0x3FE053A700000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3100 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3100 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3100 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3100 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3100 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3100 - store i32 8508, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !3100 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3100 - store i32 -5433, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3100 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3100 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3100 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3100 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3100 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3100 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3100 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3100 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3100 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3100 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !3100 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !3100 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !3100 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !3100 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !3100 - store i64 %3, ptr %agg.tmp7.i, align 8, !tbaa !69, !noalias !3100 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3100 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3100 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3100 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3100 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 4, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300624EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300624EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE491_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3103 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2876 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300463EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3104 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3104 - store float 0x3FD38001E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3104 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3104 - store float 0x3FC2B334C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3104 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3104 - store float 0x3FE6B54B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3104 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3104 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3104 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3104 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3104 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3104 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3104 - store i32 22718, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3104 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3104 - store i32 -2119, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3104 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3104 - store i32 1944, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3104 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3104 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3104 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3104 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3104 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3104 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3104 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3104 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !3104 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3104 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3104 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3104 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300642EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE509_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3107 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3107 - store float 0x3FD0A17500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3107 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3107 - store float 0x3FE633F6E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3107 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3107 - store float 0x3FD63AC540000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3107 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3107 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3107 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3107 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3107 - call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3107 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300453EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE384_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %result = alloca %struct.privatePtrCheck.2212.230, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3110 - store float 0x3FDE742E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3110 - store float 0x3FD12552C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3110 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3110 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3110 - store i32 2280, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !3110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3110 - store i32 -30372, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3110 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3110 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3110 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3110 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3110 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3110 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3110 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3110 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !3110 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !3110 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !3110 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !3110 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !3110 - store i64 %3, ptr %agg.tmp7.i, align 8, !tbaa !69, !noalias !3110 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3110 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3110 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3110 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2212.230, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 4, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300219EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300219EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE218_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !3113 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3115 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3116 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3118 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3119 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3118 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !296 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3120 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3120 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3120 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3120 - %call3.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_maxmagDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300008EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300008EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE7_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300402EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3123 - store float 0x3FEAD85840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3123 - store float 0x3FE3A01480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3123 - store float 0x3FCAFFCC60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3123 - store float 0x3FDBE97E40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3123 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3123 - store float 0x3FEBC359E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3123 - store float 0x3FCA570500000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3123 - store float 0x3FEB156020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3123 - store float 0x3FD8CF7660000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3123 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3123 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3123 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3123 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3123 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3123 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3123 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3123 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3123 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi8EEENS2_IiLi8EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2110") align 32 %a1) #2 comdat !srcloc !1202 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2110", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x i32>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <8 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !3126 - %call2.i = tail call spir_func noundef <8 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi8EEEDv8_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2110") align 32 %agg.tmp13) #13, !noalias !3126 - %call3.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_rootnDv8_DF16_Dv8_i(<8 x half> noundef %call.i, <8 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1852 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3129 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3129 - %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_sinDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1507 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3132 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3132 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3132 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3132 - %call3.i = tail call spir_func noundef <2 x half> @_Z20__spirv_ocl_copysignDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300077EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300077EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE76_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300181EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE180_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3135 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300335EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300335EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE334_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !367 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3138 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_tanpiDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300059EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300059EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE58_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300639EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE506_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3141 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !183 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !3144 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !3144 - %call3.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_powDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300143EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300143EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE142_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300788EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300788EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE611_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm4EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(16) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(16) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2042 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3147 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3147 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3147 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm2EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(8) %left, ptr addrspace(4) noundef align 4 dereferenceable(8) %right) #1 comdat !srcloc !145 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm2EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !3148 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !2555 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3149 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3149 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_asinDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - %2 = load i64, ptr %a2, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3152 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3152 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3152 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3152 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3152 - %call4.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #13, !noalias !3152 - %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS1i(half noundef %call.i, half noundef %call2.i, ptr addrspace(1) noundef %call4.i) #14, !noalias !3152 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300639EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300639EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE506_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300933EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE712_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.195, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3155 - store i16 14803, ptr %multiPtrSourceData.i, align 2, !noalias !3155 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3155 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3155 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3155 - store half 0xH3605, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3155 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3155 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !3155 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !3155 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !3155 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !3155 - %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !3155 - store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !3155 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3155 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3155 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3155 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %4 = load i16, ptr %resArg, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300469EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300469EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !2767 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3158 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3159 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3159 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_log10DF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3162 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300157EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300157EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE156_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300178EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE177_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 58498338336853, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3163 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300640EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300640EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE507_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1717 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3166 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3166 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_cospiDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300621EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300621EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE488_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300054EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE53_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3169 - store float 0x3FE6658BA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3169 - store float 0x3FC30FF8E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3169 - store float 0x3FBB353800000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3169 - store float 0x3FDA901EA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3169 - store float 0x3FE07C8B00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3169 - store float 0x3FDD5D8F40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3169 - store float 0x3FDF6AD300000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3169 - store float 0x3FE22C53A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3169 - store float 0x3FE49713C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3169 - store float 0x3FDC0F3EA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3169 - store float 0x3FD94231A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3169 - store float 0x3FEC812A60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3169 - store float 0x3FD3C24900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3169 - store float 0x3FE71800E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3169 - store float 0x3FDC7A8000000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3169 - store float 0x3FD8C19920000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3169 - store float 0x3FC356CC40000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3169 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3169 - call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3169 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300187EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE186_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH395E, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3172 - call spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301067EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE802_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3175 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14erfcENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3176 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300071EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300071EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE70_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !434 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp5 = alloca %"class.sycl::_V1::marray.2250", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp5) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm3EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp5.ascast) #13 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp5) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300856EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2270, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300856EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm3EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm3EE4sizeEv() #1 comdat align 2 !srcloc !325 { -entry: - ret i64 3 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp13, ptr noundef nonnull align 32 dereferenceable(32) %agg.tmp1, i64 32, i1 false) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3177 - %call2.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3177 - %call3.i = call spir_func noundef <16 x half> @_Z16__spirv_ocl_fminDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1998 - ret ptr addrspace(1) %0 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1677 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !663 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3180 - %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_tgammaDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !418 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3183 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(10) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3184 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm5EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(10) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.153.23") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(10) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !3185 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3186 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3186 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3186 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3186 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_fmodDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300153EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300153EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE152_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300536EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE447_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.1936.218, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3189 - store i32 -3004, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3189 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3189 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3189 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3189 - store half 0xH394C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3189 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3189 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !3189 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !3189 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !3189 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !3189 - %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3189 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, i32 noundef %2) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3189 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3189 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3189 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 4, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 - %4 = load i32, ptr %resArg, align 4, !tbaa !1180 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE738_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3192 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(34) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3195 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300219EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE218_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3196 - store float 0x3FE1E2C8A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3196 - store float 0x3FD1FBFEE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3196 - store float 0x3FD93748E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3196 - store float 0x3FD9EA5F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3196 - store float 0x3FE69C0980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3196 - store float 0x3FD24267E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3196 - store float 0x3FEB28A9C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3196 - store float 0x3FE63483C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3196 - store float 0x3FDF0887C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3196 - store float 0x3FE9BD7A40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3196 - store float 0x3FD8CA1620000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3196 - store float 0x3FDA140500000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3196 - store float 0x3FCA0C2260000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3196 - store float 0x3FE7218BA0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3196 - store float 0x3FDAF0E980000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3196 - store float 0x3FE001A880000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3196 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3196 - store float 0x3FDE837B00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3196 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3196 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3196 - call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3196 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3199 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300172EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE171_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3200 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3200 - store float 0x3FDFCBFB40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3200 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3200 - store float 0x3FC509C280000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3200 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3200 - store float 0x3FC218B5E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3200 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3200 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3200 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3200 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3200 - call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3200 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !997 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3203 - %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_atanpiDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300017EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300017EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE16_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !3206 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3207 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3207 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3207 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3207 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_fmaxDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !312 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3210 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14itemILi1ELb0EEC2ILb0EEERNSt9enable_ifIXntT_EKNS0_5rangeILi1EEEE4typeERKNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 8 dereferenceable(8) %extent, ptr addrspace(4) noundef align 8 dereferenceable(8) %index) #4 comdat align 2 !srcloc !3212 { -entry: - %0 = load i64, ptr addrspace(4) %extent, align 8 - store i64 %0, ptr addrspace(4) %this, align 8 - %MIndex = getelementptr inbounds %"struct.sycl::_V1::detail::ItemBase.1525", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load i64, ptr addrspace(4) %index, align 8 - store i64 %1, ptr addrspace(4) %MIndex, align 8 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp17 = alloca %"struct.std::array.147.20", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp17.ascast = addrspacecast ptr %ref.tmp17 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 18, ptr nonnull %ref.tmp17) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.147.20") align 2 %ref.tmp17.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm9EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.145.19") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(18) %ref.tmp17.ascast) #13 - call void @llvm.lifetime.end.p0(i64 18, ptr nonnull %ref.tmp17) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3213 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300144EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE143_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3214 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !3214 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE51_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3217 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3217 - store float 0x3FE60276C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3217 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3217 - store float 0x3FEA18BD00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3217 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3217 - store float 0x3FEABE7900000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3217 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3217 - store float 0x3FE33E9DE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3217 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3217 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3217 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3217 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3217 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3217 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3217 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3217 - call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3217 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !997 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3220 - %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_atanpiDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300326EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE325_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3223 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3223 - store float 0x3FE2E1F720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3223 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3223 - store float 0x3FE3F1B920000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3223 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3223 - store float 0x3FD22E5580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3223 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3223 - store float 0x3FCABC7980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3223 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3223 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3223 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3223 - store float 0x3FEAC9EC00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3223 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3223 - store float 0x3FD2B10E80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3223 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3223 - store float 0x3FBD405020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3223 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3223 - store float 0x3FD4E29760000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3223 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3223 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3223 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3223 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !3223 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3223 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3223 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !434 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { -entry: - %arrayidx = getelementptr inbounds [4 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp31 = alloca %"struct.std::array.133.13", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp31.ascast = addrspacecast ptr %ref.tmp31 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp31) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.133.13") align 2 %ref.tmp31.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm16EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(32) %ref.tmp31.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp31) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3226 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm5EE6_S_refERA5_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(10) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !488 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3227 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3227 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_expm1Dv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !306 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300248EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300248EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE247_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm11EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(22) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm11EE6_S_refERA11_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(22) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm2EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm2EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300593EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3230 - store float 0x3FD6CDADA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3230 - store float 0x3FE20D2020000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3230 - store float 0x3FE76A7D80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3230 - store float 0x3FDD293140000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3230 - store float 0x3FC7E91540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3230 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3230 - store i32 16405, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3230 - store i32 5566, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3230 - store i32 10759, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3230 - store i32 25155, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3230 - store i32 9047, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !3230 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3230 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3230 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3230 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3230 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !3230 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3230 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3233 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300650EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE517_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3234 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3237 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3238 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3238 - %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_erfDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300499EN4sycl3_V16marrayIiLm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE410_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.2202", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3241 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3241 - store float 0x3FE95607A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3241 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3241 - store float 0x3FDC1F8440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3241 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3241 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3241 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3241 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3241 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3241 - call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3241 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm2EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(8) %call, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300317EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300317EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE316_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300623EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE490_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3244 - store float 0x3FE963F060000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3244 - store float 0x3FDFBE7D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3244 - store float 0x3FEB9C1520000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3244 - store float 0x3FC2672CE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3244 - store float 0x3FE40C6BC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3244 - store float 0x3FDE8CEFC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3244 - store float 0x3FC157F3C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3244 - store float 0x3FE50E5600000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3244 - store float 0x3FE3008240000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3244 - store float 0x3FE4CAC160000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3244 - store float 0x3FD2151420000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3244 - store float 0x3FC4B43180000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3244 - store float 0x3FD2C39B00000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3244 - store float 0x3FDC1D0140000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3244 - store float 0x3FE4153AE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3244 - store float 0x3FE5BD4340000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3244 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3244 - store float 0x3FD5FA31A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3244 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3244 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3244 - call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3244 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3247 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300771EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300771EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE594_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300171EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE170_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3248 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3248 - store float 0x3FE1623D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3248 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3248 - store float 0x3FE983BB00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3248 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3248 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3248 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3248 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3248 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3248 - call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3248 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(2) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301015EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE750_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3251 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3251 - store float 0x3FE4643A60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3251 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3251 - store float 0x3FDE29CEA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3251 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3251 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3251 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3251 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3251 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3251 - call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3251 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !3254 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3255 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3255 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_log2Dv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !173 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3258 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3259 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3260 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !783 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3261 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3261 - %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_expDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300919EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300919EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE698_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301016EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301016EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE751_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301005EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE740_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3264 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3264 - store float 0x3FD97B23E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3264 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3264 - store float 0x3FD732A200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3264 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3264 - store float 0x3FDA2E05C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3264 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3264 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3264 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3264 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3264 - call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3264 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { -entry: - %arrayidx = getelementptr inbounds [5 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300670EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300670EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE537_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp25 = alloca %"struct.std::array.2407", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp25.ascast = addrspacecast ptr %ref.tmp25 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 52, ptr nonnull %ref.tmp25) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2407") align 4 %ref.tmp25.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm13EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2406") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(52) %ref.tmp25.ascast) #13 - call void @llvm.lifetime.end.p0(i64 52, ptr nonnull %ref.tmp25) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1477 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3267 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3268 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3269 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !3270 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3271 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_acoshDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIiLm3EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, ptr addrspace(4) noundef align 4 dereferenceable(12) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %Arr, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %Arr, i64 noundef 1) #13 - %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element3 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 2 - %call4 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %Arr, i64 noundef 2) #13 - %3 = load i32, ptr addrspace(4) %call4, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element3, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !3274 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3275 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300937EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3277 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3277 - store half 0xH3878, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3277 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3277 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3277 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3277 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300792EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE615_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3280 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !3280 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2065 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm16EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(64) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(64) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300390EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3283 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3283 - store float 0x3FEB4992A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3283 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3283 - store float 0x3FD0479C80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3283 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3283 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3283 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3283 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3283 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3283 - store float 0x3FE974D6E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3283 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3283 - store float 0x3FD44244C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3283 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3283 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3283 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3283 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3283 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3283 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3283 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3283 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3283 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !3283 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3283 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3283 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3283 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %dimension) #1 comdat align 2 !srcloc !3286 { -entry: - %idxprom = sext i32 %dimension to i64 - %arrayidx = getelementptr inbounds [1 x i64], ptr addrspace(4) %this, i64 0, i64 %idxprom - %0 = load i64, ptr addrspace(4) %arrayidx, align 8, !tbaa !340 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300982EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3287 - store float 0x3FE6E490C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3287 - store float 0x3FC7692760000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3287 - store float 0x3FD5D93940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3287 - store float 0x3FC6401FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3287 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3287 - store float 0x3FD39DCB60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3287 - store float 0x3FE5EBB7E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3287 - store float 0x3FE238C9A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3287 - store float 0x3FD561C080000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3287 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3287 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3287 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3287 - %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3287 - store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3287 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3287 - store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3287 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3287 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3290 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1155 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3291 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3291 - %call3.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_minmagDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !521 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm17EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300257EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE256_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3294 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3297 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %t) #1 comdat !srcloc !1175 { -entry: - %t.addr = alloca <16 x half>, align 32 - %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) - store <16 x half> %t, ptr %t.addr, align 32, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr addrspace(4) noundef align 32 dereferenceable(32) %t.addr.ascast) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300735EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1786.211, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300735EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(34) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3298 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300460EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3299 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3299 - store float 0x3FE09AEA00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3299 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3299 - store float 0x3FCCF82B40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3299 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3299 - store float 0x3FD88293A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3299 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3299 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3299 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3299 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3299 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3299 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3299 - store i32 -19504, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3299 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3299 - store i32 4622, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3299 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3299 - store i32 21553, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3299 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3299 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3299 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3299 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3299 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3299 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3299 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3299 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !3299 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3299 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3299 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3299 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300309EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE308_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store i64 63192828099033, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3302 - store half 0xH318B, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3302 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iS4_EET_T0_(ptr addrspace(3) noundef %call) #13 - ret ptr addrspace(3) %call1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3305 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3305 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3305 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !3305 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !3305 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1155 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3308 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3308 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3308 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3308 - %call3.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_minmagDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3311 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3312 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3314 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3315 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300415EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300415EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300615EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300615EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE482_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp11 = alloca %"struct.std::array.153.23", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp11.ascast = addrspacecast ptr %ref.tmp11 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp11) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffEE6CreateERKfSA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.153.23") align 2 %ref.tmp11.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm6EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(12) %ref.tmp11.ascast) #13 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp11) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !557 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3316 - %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_tanDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300504EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE415_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3B1C, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3319 - call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, i32 noundef 19980) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300487EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300487EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE398_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300310EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE309_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3322 - store half 0xH3AD5, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3322 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300984EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3325 - store float 0x3FEB994940000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3325 - store float 0x3FE1159920000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3325 - store float 0x3FDB1E9400000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3325 - store float 0x3FE61E07C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3325 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3325 - store float 0x3FDF2315A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3325 - store float 0x3FBFBAF820000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3325 - store float 0x3FE8873E20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3325 - store float 0x3FE1BF1700000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3325 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3325 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3325 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3325 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3325 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3325 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3325 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3325 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3325 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300502EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300502EN4sycl3_V16marrayIiLm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE413_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300934EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1520.196, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 - store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300934EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300923EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300923EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE702_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300332EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE331_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3328 - store half 0xH3327, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3328 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3331 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3332 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3332 - %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_asinpiDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3335 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300275EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300275EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE274_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3016 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301020EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301020EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE755_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300645EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE512_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3336 - store float 0x3FC31CA920000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3336 - store float 0x3FE940CDE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3336 - store float 0x3FDD8C4DE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3336 - store float 0x3FEAAE4C20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3336 - store float 0x3FD9AEFA40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3336 - store float 0x3FC138EE00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3336 - store float 0x3FE06748A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3336 - store float 0x3FEB028200000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3336 - store float 0x3FE14D2FE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3336 - store float 0x3FD2C021C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3336 - store float 0x3FE496C560000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3336 - store float 0x3FE1616360000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3336 - store float 0x3FE15DB0E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3336 - store float 0x3FD2A26AE0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3336 - store float 0x3FD1B012C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3336 - store float 0x3FBBD5E920000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3336 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3336 - store float 0x3FEC01C560000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3336 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3336 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3336 - call spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3336 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3339 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300279EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE278_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3341 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300169EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE168_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3344 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3347 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !3349 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm12EE6_S_refERA12_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(24) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE4sizeEv() #1 comdat align 2 !srcloc !458 { -entry: - ret i64 2 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2299 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE797_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3351 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3351 - store float 0x3FC50A3540000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3351 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3351 - store float 0x3FCFAF25A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3351 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3351 - store float 0x3FC6615E40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3351 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3351 - store float 0x3FE33BC720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3351 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3351 - store float 0x3FE341F080000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3351 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3351 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3351 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3351 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3351 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3351 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3351 - call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3351 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300601EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3354 - store float 0x3FD34019E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3354 - store float 0x3FC587EA40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3354 - store float 0x3FDD8BE0E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3354 - store float 0x3FD48B39A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3354 - store float 0x3FE9CAAD80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3354 - store float 0x3FC0F62AA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3354 - store float 0x3FE6B5E8A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3354 - store float 0x3FE9A71880000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3354 - store float 0x3FE3106A00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3354 - store float 0x3FD07F66C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3354 - store float 0x3FB9F43C80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3354 - store float 0x3FC59E1980000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3354 - store float 0x3FE85FFE20000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3354 - store float 0x3FE3A64D20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3354 - store float 0x3FEA63C600000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3354 - store float 0x3FE50926E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3354 - store float 0x3FC7DEFAC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3354 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3354 - store i32 -1058, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3354 - store i32 8613, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3354 - store i32 -21788, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3354 - store i32 -9254, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3354 - store i32 -9247, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3354 - store i32 -1912, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3354 - store i32 30912, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3354 - store i32 -20491, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3354 - store i32 23859, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3354 - store i32 -2404, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3354 - store i32 11087, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3354 - store i32 2782, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3354 - store i32 17280, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3354 - store i32 25417, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3354 - store i32 -18433, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3354 - store i32 -32747, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3354 - store i32 20821, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !3354 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3354 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3354 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3354 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3354 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3354 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3354 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp27 = alloca %"struct.std::array.2406", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp27.ascast = addrspacecast ptr %ref.tmp27 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %ref.tmp27) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2406") align 4 %ref.tmp27.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm14EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2405") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(56) %ref.tmp27.ascast) #13 - call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %ref.tmp27) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm2EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300154EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300154EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE153_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE49_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3357 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3357 - store float 0x3FD7FEB5C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3357 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3357 - store float 0x3FDEEDE200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3357 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3357 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3357 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3357 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3357 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3357 - call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3357 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !596 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3360 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3360 - %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_cosDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301011EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE746_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 64318036326407, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3363 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2517 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3366 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a2) #2 comdat !srcloc !902 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp4.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - %2 = load i64, ptr %a2, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3367 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3367 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3367 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !3367 - store i64 %2, ptr %agg.tmp4.i, align 8, !tbaa !69, !noalias !3367 - %call5.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp4.i) #13, !noalias !3367 - %call12.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_madDv3_DF16_S_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i, <3 x half> noundef %call5.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call12.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300469EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3370 - store float 0x3FE779DA40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3370 - store float 0x3FC3CCF340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3370 - store float 0x3FD9AF8B60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3370 - store float 0x3FD1061980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3370 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3370 - store i32 -7426, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3370 - store i32 -26392, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3370 - store i32 11408, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3370 - store i32 16739, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3370 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3370 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3370 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3370 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3370 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3370 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3370 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3370 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3370 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2133 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3373 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(1) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3374 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300132EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300132EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE131_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %left, ptr addrspace(4) noundef align 2 dereferenceable(2) %right) #1 comdat !srcloc !3375 { -entry: - %0 = load i16, ptr addrspace(4) %right, align 2, !tbaa !99 - store i16 %0, ptr addrspace(4) %left, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm5EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(20) %A2) #1 comdat !srcloc !564 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.2414") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(20) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300522EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300522EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE433_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300774EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE597_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3376 - store float 0x3FE29C56C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3376 - store float 0x3FDCEF7C00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3376 - store float 0x3FE178BE00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3376 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3376 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3376 - store float 0x3FE9A35480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3376 - store float 0x3FDCBBE540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3376 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3376 - store float 0x3FD783EAC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3376 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3376 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3376 - call spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3376 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3376 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300156EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE155_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 58846265882781, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3379 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300925EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300925EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE704_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1357 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3382 - %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_acospiDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300458EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE385_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2260.232, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3385 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3385 - store float 0x3FE6DBE200000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3385 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3385 - store float 0x3FD3EC7980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3385 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3385 - store float 0x3FBB945080000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3385 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3385 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3385 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3385 - store i32 1474, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3385 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3385 - store i32 -19606, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3385 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3385 - store i32 -13127, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3385 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3385 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3385 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3385 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !3385 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3385 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !3385 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !3385 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3385 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3388 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1860 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3389 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3389 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_rsqrtDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301026EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE761_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3392 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3392 - store float 0x3FE098B540000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3392 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3392 - store float 0x3FDBFDDFA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3392 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3392 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3392 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3392 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3392 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3392 - call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3392 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300772EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300772EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE595_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <16 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEcvDv16_DF16_Ev(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !207 { -entry: - %0 = load <16 x half>, ptr addrspace(4) %this, align 32, !tbaa !69 - ret <16 x half> %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1357 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3395 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3395 - %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_acospiDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3398 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300420EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300420EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301037EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE772_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3399 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3399 - store float 0x3FD85DD800000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3399 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3399 - store float 0x3FDB4A53A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3399 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3399 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3399 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3399 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3399 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3399 - call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3399 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1998 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300905EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300905EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE684_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300104EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300104EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE103_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300243EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300243EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE242_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2156") align 64 %a1) #2 comdat !srcloc !1517 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2156", align 64 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x i32>, ptr %a1, align 64, !tbaa.struct !689 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp13) - store <16 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 64 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3402 - %call2.i = tail call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp13) #13, !noalias !3402 - %call3.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_ldexpDv16_DF16_Dv16_i(<16 x half> noundef %call.i, <16 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !628 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3405 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3405 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_floorDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300340EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300340EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE339_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm2EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 - store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !3270 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3408 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3408 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_acoshDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300504EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300504EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE415_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300216EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE215_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3411 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3411 - store float 0x3FD7F6C3E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3411 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3411 - store float 0x3FC6C98EA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3411 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3411 - store float 0x3FBAA753E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3411 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3411 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3411 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3411 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3411 - call spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3411 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300883EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE662_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3414 - store float 0x3FE655ACE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3414 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3414 - store float 0x3FEB059DA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3414 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3414 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3414 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3414 - call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3414 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3417 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.28.4", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300528EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300528EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE439_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300988EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3419 - store float 0x3FE7B22C20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3419 - store float 0x3FE9D28000000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3419 - store float 0x3FD31E6280000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3419 - store float 0x3FD5137C60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3419 - store float 0x3FE419FFA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3419 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3419 - store float 0x3FD6AA6000000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3419 - store float 0x3FE51BD680000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3419 - store float 0x3FEBFBDD80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3419 - store float 0x3FD23CA560000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3419 - store float 0x3FBF60FFE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3419 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3419 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3419 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3419 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3419 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !3419 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3419 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300189EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE188_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 64562864994911, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3422 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3425 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3426 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3426 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_sinhDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300636EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300636EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE503_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3429 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !361 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301060EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301060EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE795_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300759EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE582_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3430 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !3430 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300215EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300215EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE214_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %left, ptr addrspace(4) noundef align 2 dereferenceable(34) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !3433 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300482EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE393_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH2FF3, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3434 - store half 0xH383F, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3434 - call spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300023EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE22_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm8EE6_S_refERA8_Kim(ptr addrspace(4) noundef align 4 dereferenceable(32) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm15EE6_S_refERA15_Kim(ptr addrspace(4) noundef align 4 dereferenceable(60) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [15 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300798EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE621_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3437 - store float 0x3FD71EDA20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3437 - store float 0x3FDA8C4E20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3437 - store float 0x3FDC0D84E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3437 - store float 0x3FC08B44C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3437 - store float 0x3FDC81C6C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3437 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3437 - store float 0x3FE310E240000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3437 - store float 0x3FEA84A3A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3437 - store float 0x3FE0CF5600000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3437 - store float 0x3FDEB2C100000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3437 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3437 - store float 0x3FEC97D380000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3437 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3437 - call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3437 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3437 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300079EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE78_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1873 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2391", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3026 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300100EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300100EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE99_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300480EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300480EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3440 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3442 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301033EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301033EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE768_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIiiEENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS2_RKS3_(ptr addrspace(4) noundef align 4 dereferenceable(4) %left, ptr addrspace(4) noundef align 4 dereferenceable(4) %right) #1 comdat !srcloc !3443 { -entry: - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %left, ptr addrspace(4) noundef align 4 dereferenceable(4) %right) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301026EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301026EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE761_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this) #4 comdat align 2 !srcloc !569 { -entry: - br label %arrayinit.body - -arrayinit.body: ; preds = %arrayinit.body, %entry - %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] - %arrayinit.cur.ptr = getelementptr inbounds i32, ptr addrspace(4) %this, i64 %arrayinit.cur.idx - store i32 0, ptr addrspace(4) %arrayinit.cur.ptr, align 4, !tbaa !126 - %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 - %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 4 - br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body - -arrayinit.end2: ; preds = %arrayinit.body - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !2273 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3444 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3444 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_sinhDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2765 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300678EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300678EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE545_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %t) #1 comdat !srcloc !1175 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 32 dereferenceable(32) %t.ascast) #13 - ret <16 x half> %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7Builder12createNDItemILi1EEENS0_7nd_itemIXT_EEERKNS0_4itemIXT_ELb1EEERKNS6_IXT_ELb0EEERKNS0_5groupIXT_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::nd_item") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(24) %Global, ptr addrspace(4) noundef align 8 dereferenceable(16) %Local, ptr addrspace(4) noundef align 8 dereferenceable(32) %Group) #1 comdat align 2 !srcloc !3447 { -entry: - tail call spir_func void @_ZN4sycl3_V17nd_itemILi1EEC2ERKNS0_4itemILi1ELb1EEERKNS3_ILi1ELb0EEERKNS0_5groupILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(24) %Global, ptr addrspace(4) noundef align 8 dereferenceable(16) %Local, ptr addrspace(4) noundef align 8 dereferenceable(32) %Group) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS4_LNS7_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300507EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE418_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2064", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3448 - store <4 x i32> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !3448 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300929EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300929EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE708_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301002EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE737_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300463EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300463EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300224EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300224EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE223_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3451 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3452 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3452 - %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_atanpiDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300116EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300116EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE115_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3455 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300750EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE577_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1892.216, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3456 - store float 0x3FE668DF40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3456 - store float 0x3FC6CD1780000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3456 - store float 0x3FE050CB60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3456 - store float 0x3FE0690D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3456 - store float 0x3FD0200840000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3456 - store float 0x3FE1D824A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3456 - store float 0x3FEA23FD80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3456 - store float 0x3FE8CB0520000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3456 - store float 0x3FEAAE6A40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3456 - store float 0x3FD40CA9C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3456 - store float 0x3FE63F9C20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3456 - store float 0x3FE6F48580000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3456 - store float 0x3FC4E9B520000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3456 - store float 0x3FEA4A0100000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3456 - store float 0x3FE5D2C140000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3456 - store float 0x3FE64020A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3456 - store float 0x3FD0295CA0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3456 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3456 - store float 0x3FC9E70340000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3456 - store float 0x3FE3D2EA20000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3456 - store float 0x3FEC0104C0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3456 - store float 0x3FDF4D6540000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3456 - store float 0x3FEB589CA0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3456 - store float 0x3FD8C0F4E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3456 - store float 0x3FDDAF0DE0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3456 - store float 0x3FD357F8C0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3456 - store float 0x3FE66F91E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3456 - store float 0x3FEC95E320000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3456 - store float 0x3FD73072A0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3456 - store float 0x3FE9E203C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3456 - store float 0x3FD2E53E80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3456 - store float 0x3FBD286BC0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3456 - store float 0x3FCA698380000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3456 - store float 0x3FC4213EE0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3456 - store float 0x3FDC3F0D20000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3456 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3456 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3456 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !3456 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3456 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !3456 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !3456 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3456 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3459 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300479EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2422, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300479EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 4 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3461 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3462 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300920EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300920EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE699_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300656EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300656EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE523_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - %0 = load i16, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp4, align 2, !tbaa !99 - %2 = load i16, ptr %a1, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp6, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %4 = load i32, ptr %PartialRes, align 4 - store i32 %4, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3464 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !983 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3465 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3465 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3465 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !3465 - %call3.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_atan2Dv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3468 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - %0 = load i32, ptr %res_t, align 2, !tbaa !69 - store i32 %0, ptr addrspace(4) %this, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load i32, ptr %resArg_t, align 2, !tbaa !69 - store i32 %1, ptr addrspace(4) %resArg, align 2, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300288EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300288EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE287_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3469 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3471 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3472 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3471 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.1972") align 8 %a1) #2 comdat !srcloc !1202 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.1972", align 8 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3473 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3473 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3473 - %call2.i = tail call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp1.i) #13, !noalias !3473 - %call3.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_rootnDv2_DF16_Dv2_i(<2 x half> noundef %call.i, <2 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %a1) #2 comdat !srcloc !961 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V14pownENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3476 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3477 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300028EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300028EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE27_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300456EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3478 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3478 - store float 0x3FEA6E8100000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3478 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3478 - store float 0x3FE40C7980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3478 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3478 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3478 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3478 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3478 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3478 - store i32 -24712, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !3478 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3478 - store i32 26091, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !3478 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3478 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3478 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3478 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3478 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3478 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3478 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3478 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3478 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !3478 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3478 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3478 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3478 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300770EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300770EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE593_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300304EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE303_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3481 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3481 - store float 0x3FD6E3A080000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3481 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3481 - store float 0x3FCB89C9E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3481 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3481 - store float 0x3FE6A70360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3481 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3481 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3481 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3481 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3481 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3481 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3481 - store float 0x3FE14A3FA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3481 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3481 - store float 0x3FE0EF5B80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3481 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3481 - store float 0x3FE56357C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3481 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3481 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3481 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3481 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3481 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3481 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3481 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300389EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1748.209, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 - store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300389EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300582EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300582EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300030EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE29_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm12EE6_S_refERA12_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(24) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [12 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !2273 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3484 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3484 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_sinhDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300665EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE532_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3487 - store float 0x3FDEE532A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3487 - store float 0x3FE62B1920000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3487 - store float 0x3FBED6E7A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3487 - store float 0x3FC4475DA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3487 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3487 - store float 0x3FE3E02980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3487 - store float 0x3FECA5D760000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3487 - store float 0x3FC85C1FA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3487 - store float 0x3FD34EFCA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3487 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3487 - store float 0x3FC22E6220000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3487 - store float 0x3FE810E620000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3487 - store float 0x3FC7B37960000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3487 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3487 - store float 0x3FE58EB400000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3487 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3487 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3487 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3487 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !3487 - store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !3487 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !69, !noalias !3487 - store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !3487 - call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3487 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !623 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !3349 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2782 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm3EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %this, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %this, ptr align 2 %res_t, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr addrspace(4) %this, i64 0, i32 1 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %resArg, ptr align 2 %resArg_t, i64 10, i1 false), !tbaa.struct !190 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300988EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1862.215, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300988EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300290EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300290EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE289_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301078EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE813_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300107EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300107EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE106_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300513EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE424_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3490 - store float 0x3FE4974CA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3490 - store float 0x3FE51A5980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3490 - store float 0x3FD2614F80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3490 - store float 0x3FE161A500000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3490 - store float 0x3FE3D53980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3490 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3490 - store i32 9270, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3490 - store i32 -20319, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3490 - store i32 -20833, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3490 - store i32 30496, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !3490 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3490 - store i32 5972, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !3490 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3490 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2344") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %inputData_1.i) #13, !noalias !3490 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3490 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300194EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300194EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE193_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !655 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3493 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3493 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_asinhDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300888EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE667_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH38FC, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3496 - call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, i32 noundef 2915) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1703 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3499 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_exp10Dv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !296 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3502 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3502 - %call3.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_maxmagDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300876EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300876EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm2EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3505 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3506 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !367 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3507 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3507 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_tanpiDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3510 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3510 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3510 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !3510 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !3510 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2064") align 16 %a1) #2 comdat !srcloc !1517 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2064", align 16 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %agg.tmp1.sroa.0.0.copyload = load <4 x i32>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3513 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3513 - %call2.i = tail call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp13) #13, !noalias !3513 - %call3.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_ldexpDv4_DF16_Dv4_i(<4 x half> noundef %call.i, <4 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3516 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2540 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300505EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE416_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.1972", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3517 - store <2 x i32> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !3517 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm7EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(28) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm7EE6_S_refERA7_Kim(ptr addrspace(4) noundef align 4 dereferenceable(28) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300460EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2270, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300460EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300985EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3520 - store float 0x3FDE9845E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3520 - store float 0x3FBA386320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3520 - store float 0x3FE17A3240000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3520 - store float 0x3FE7E8BE20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3520 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3520 - store float 0x3FE84E5220000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3520 - store float 0x3FECC4D920000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3520 - store float 0x3FE8CA20E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3520 - store float 0x3FE15110C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3520 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3520 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3520 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3520 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3520 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3520 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3520 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3520 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3520 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm15EE6_S_refERA15_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(30) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [15 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300004EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE3_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3523 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300400EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1824.213, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300400EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300755EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3526 - store float 0x3FE01CCD60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3526 - store float 0x3FE22AD380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3526 - store float 0x3FE20C6920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3526 - store float 0x3FDDEFED00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3526 - store float 0x3FD6C071E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3526 - store float 0x3FD49C6520000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3526 - store float 0x3FE62627E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3526 - store float 0x3FE67B8480000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3526 - store float 0x3FE83D3AE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3526 - store float 0x3FD75FC680000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3526 - store float 0x3FE92A6C40000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3526 - store float 0x3FCD759AE0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3526 - store float 0x3FD6888E40000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3526 - store float 0x3FE3282360000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3526 - store float 0x3FDCC3F980000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3526 - store float 0x3FE5A37620000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3526 - store float 0x3FE4461CC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3526 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3526 - store float 0x3FE3CDB7E0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3526 - store float 0x3FDE90DEE0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3526 - store float 0x3FC3D65580000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3526 - store float 0x3FE9114220000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3526 - store float 0x3FD4B22980000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3526 - store float 0x3FC1D8CF80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3526 - store float 0x3FE121CB80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3526 - store float 0x3FE022B100000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3526 - store float 0x3FC1061DE0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3526 - store float 0x3FE048AEE0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3526 - store float 0x3FE6D3E360000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3526 - store float 0x3FE1C875C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3526 - store float 0x3FE633B140000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3526 - store float 0x3FD474FD80000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3526 - store float 0x3FE1B8A7E0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3526 - store float 0x3FE606A860000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3526 - store float 0x3FBB3E2000000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3526 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3526 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3526 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3526 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3526 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3526 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3526 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300247EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE246_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3529 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300354EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300354EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #4 comdat align 2 !srcloc !1947 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.2250", align 4 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm3EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIiLm3EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, ptr addrspace(4) noundef align 4 dereferenceable(12) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1DF16_PU3AS1NS1_9half_impl4halfEEET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300225EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE224_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3532 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300598EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3535 - store float 0x3FE782E2E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3535 - store float 0x3FE5F47A20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3535 - store float 0x3FEBACCEE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3535 - store float 0x3FD80AE9A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3535 - store float 0x3FE3383E80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3535 - store float 0x3FEA659DC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3535 - store float 0x3FD2FE8960000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3535 - store float 0x3FBAD903C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3535 - store float 0x3FE12B3BE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3535 - store float 0x3FDC4D8F00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3535 - store float 0x3FDAC06DE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3535 - store float 0x3FDA1883A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3535 - store float 0x3FE4819AE0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3535 - store float 0x3FE0AEBAC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3535 - store float 0x3FDD060080000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3535 - store float 0x3FE493F940000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3535 - store float 0x3FD8C79480000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3535 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3535 - store i32 31501, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3535 - store i32 11098, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3535 - store i32 18991, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3535 - store i32 16880, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3535 - store i32 -19511, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3535 - store i32 -32691, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3535 - store i32 -9229, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3535 - store i32 21095, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3535 - store i32 20326, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3535 - store i32 12472, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3535 - store i32 -28395, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3535 - store i32 -25230, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3535 - store i32 -11975, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3535 - store i32 13639, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3535 - store i32 -9298, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3535 - store i32 27164, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3535 - store i32 5341, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !3535 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3535 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3535 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3535 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3535 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3535 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3538 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300305EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300305EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE304_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300413EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3539 - store float 0x3FD5CA7A20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3539 - store float 0x3FC59677C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3539 - store float 0x3FEBFC8600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3539 - store float 0x3FE000D040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3539 - store float 0x3FDC0424E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3539 - store float 0x3FE15A5F40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3539 - store float 0x3FCF2D7260000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3539 - store float 0x3FE79DBA40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3539 - store float 0x3FD519AB60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3539 - store float 0x3FE8E19E00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3539 - store float 0x3FE61F75A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3539 - store float 0x3FD57D04E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3539 - store float 0x3FDF4901A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3539 - store float 0x3FD57A1020000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3539 - store float 0x3FEB44DFE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3539 - store float 0x3FE8EF0AC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3539 - store float 0x3FE0FF86E0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3539 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3539 - store float 0x3FE4DB7700000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3539 - store float 0x3FC4C15140000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3539 - store float 0x3FE7B2E260000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3539 - store float 0x3FD8BEAAC0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3539 - store float 0x3FD42687A0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3539 - store float 0x3FD72DBFA0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3539 - store float 0x3FE9F6AD00000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3539 - store float 0x3FC760A740000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3539 - store float 0x3FEC745D00000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3539 - store float 0x3FDE22A2A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3539 - store float 0x3FE342DBA0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3539 - store float 0x3FE02B8C00000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3539 - store float 0x3FC33865E0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3539 - store float 0x3FE6CD8520000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3539 - store float 0x3FDAEF0740000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3539 - store float 0x3FDF159BC0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3539 - store float 0x3FE83B27E0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3539 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3539 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3539 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3539 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3539 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3539 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3539 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300093EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300093EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE92_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE24_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3542 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301027EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE762_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3545 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3545 - store float 0x3FBA2AD3A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3545 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3545 - store float 0x3FE3ABC760000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3545 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3545 - store float 0x3FCDF6A060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3545 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3545 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3545 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3545 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3545 - call spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3545 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !677 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm16EE6_S_refERA16_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(32) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [16 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300214EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300214EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE213_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300685EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE552_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3548 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3548 - store float 0x3FEC30A2E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3548 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3548 - store float 0x3FD1E93580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3548 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3548 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3548 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3548 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !3548 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3548 - store float 0x3FBE63B960000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3548 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3548 - store float 0x3FDBAE7C40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3548 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3548 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3548 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3548 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3548 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3548 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !3548 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3548 - call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !3548 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3548 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300897EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300897EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE676_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300637EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300637EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE504_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300987EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300987EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE730_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %t) #1 comdat !srcloc !1175 { -entry: - %t.addr = alloca <2 x half>, align 4 - %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) - store <2 x half> %t, ptr %t.addr, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %t.addr.ascast) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1426 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3551 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3551 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3551 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300906EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE685_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3552 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3552 - store float 0x3FEA340B20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3552 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3552 - store float 0x3FC6880840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3552 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3552 - store float 0x3FD688E680000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3552 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3552 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3552 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3552 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3552 - call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3552 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300503EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300503EN4sycl3_V16marrayIiLm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE414_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300038EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE37_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3555 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !3558 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3559 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3559 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_sinpiDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3562 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300343EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE342_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3563 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !3563 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(6) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(6) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300229EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE228_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3566 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3566 - store float 0x3FD90B7260000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3566 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3566 - store float 0x3FD25DFE80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3566 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3566 - store float 0x3FC1463560000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3566 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3566 - store float 0x3FD9FE2820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3566 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3566 - store float 0x3FBA85E1E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3566 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3566 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3566 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3566 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3566 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3566 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3566 - call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3566 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300805EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300805EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE628_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !864 !sycl_used_aspects !63 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp13, ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp1, i64 16, i1 false) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !3569 - %call2.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !3569 - %call3.i = call spir_func noundef <8 x half> @_Z16__spirv_ocl_fminDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301022EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301022EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE757_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %t) #1 comdat !srcloc !1175 !sycl_used_aspects !63 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef half @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_(ptr addrspace(4) noundef align 2 dereferenceable(2) %t.ascast) #13 - ret half %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3572 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300296EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300296EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE295_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !571 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3573 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3574 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3575 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp7 = alloca %"class.sycl::_V1::marray.2297", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp7.ascast = addrspacecast ptr %ref.tmp7 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm5EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp7) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm5EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %ref.tmp7.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm4EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(16) %ref.tmp7.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp7) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301044EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301044EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE779_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - %0 = load i16, ptr %a1, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300279EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300279EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE278_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3576 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300106EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE105_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3577 - store float 0x3FE7683420000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3577 - store float 0x3FDA4F76C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3577 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3577 - store float 0x3FE7DAF240000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3577 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3577 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3577 - call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3577 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300346EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300346EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE345_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300160EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300160EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE159_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300525EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300525EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE436_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300161EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE160_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3580 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3580 - store float 0x3FE39FA8E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3580 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3580 - store float 0x3FC042BBE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3580 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3580 - store float 0x3FE698CF40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3580 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3580 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3580 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3580 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3580 - call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3580 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !628 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3583 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3583 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_floorDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300327EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE326_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3586 - store float 0x3FE070B8A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3586 - store float 0x3FE369F2E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3586 - store float 0x3FE61FAE20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3586 - store float 0x3FCBB55280000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3586 - store float 0x3FE0339E00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3586 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3586 - store float 0x3FD6CB3FA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3586 - store float 0x3FE5C07C60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3586 - store float 0x3FD8CE5CE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3586 - store float 0x3FE7F71C00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3586 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3586 - store float 0x3FD035FF20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3586 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3586 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3586 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3586 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm3EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300225EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300225EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE224_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300589EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3589 - store float 0x3FDAD89E60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3589 - store float 0x3FC773DF00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3589 - store float 0x3FD6761EC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3589 - store float 0x3FCB4B1CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3589 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3589 - store i32 18307, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3589 - store i32 4317, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3589 - store i32 425, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3589 - store i32 14109, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3589 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3589 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3589 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3589 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3589 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3589 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3589 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3589 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3589 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301006EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE741_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300734EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1786.211, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300734EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300339EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300339EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE338_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3592 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3594 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3594 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3594 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi3EE4sizeEv() #1 comdat align 2 !srcloc !587 { -entry: - ret i64 3 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300196EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE195_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3595 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3595 - store float 0x3FE1615960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3595 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3595 - store float 0x3FCE212440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3595 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3595 - store float 0x3FD105ABC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3595 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3595 - store float 0x3FD2161CA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3595 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3595 - store float 0x3FE0A5D440000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3595 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3595 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3595 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3595 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3595 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3595 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3595 - call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3595 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1717 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3598 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_cospiDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds i32, ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300862EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp15.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3601 - store float 0x3FC339F620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3601 - store float 0x3FEBF183E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3601 - store float 0x3FEB163D60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3601 - store float 0x3FC1435A80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3601 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3601 - store float 0x3FE3DF5E60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3601 - store float 0x3FDC0D9DE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3601 - store float 0x3FE35E9DE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3601 - store float 0x3FE8F12AC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3601 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3601 - store i32 -8148, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3601 - store i32 30278, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3601 - store i32 7685, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3601 - store i32 32641, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !3601 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3601 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3601 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3601 - %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3601 - store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !3601 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !3601 - store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !3601 - %3 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !3601 - store i64 %3, ptr %agg.tmp15.i, align 8, !tbaa !128, !noalias !3601 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp15.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3601 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iS4_EET_T0_(ptr noundef %from) #1 comdat !srcloc !114 { -entry: - ret ptr %from -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !2217 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3604 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - %2 = load i64, ptr %a2, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3606 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3606 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3606 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3606 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3606 - %call4.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #13, !noalias !3606 - %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS3i(half noundef %call.i, half noundef %call2.i, ptr addrspace(3) noundef %call4.i) #14, !noalias !3606 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE23_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 58193347360524, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3609 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2287 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300999EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE734_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3612 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300394EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1786.211, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300394EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300295EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE294_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3615 - store float 0x3FE28958A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3615 - store float 0x3FDAD95560000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3615 - store float 0x3FE18AF9C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3615 - store float 0x3FE534ABC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3615 - store float 0x3FDB3909C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3615 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3615 - store float 0x3FEA095A80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3615 - store float 0x3FEBAA9220000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3615 - store float 0x3FEC6AE220000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3615 - store float 0x3FC268C920000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3615 - store float 0x3FE89F7200000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3615 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_2.i) #13, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3615 - store float 0x3FE9AFB3C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3615 - store float 0x3FCBB08300000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3615 - store float 0x3FEB4CF3C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3615 - store float 0x3FC9D10360000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3615 - store float 0x3FD103B500000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3615 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3615 - call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_2.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_2.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !3615 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3615 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300186EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE185_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3618 - store float 0x3FDABABC00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3618 - store float 0x3FE2154DE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3618 - store float 0x3FE89745A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3618 - store float 0x3FECBF7B00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3618 - store float 0x3FE9DB6560000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3618 - store float 0x3FD96F9CE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3618 - store float 0x3FBE0CBA40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3618 - store float 0x3FE2DB6980000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3618 - store float 0x3FDEB26E60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3618 - store float 0x3FD28907E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3618 - store float 0x3FC0ED5900000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3618 - store float 0x3FD6DD4920000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3618 - store float 0x3FE7A170A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3618 - store float 0x3FEBE1A680000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3618 - store float 0x3FC7B8D4E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3618 - store float 0x3FE9AAE5C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3618 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3618 - store float 0x3FC1C9E780000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3618 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3618 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3618 - call spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3618 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !3621 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3623 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !781 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300616EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE483_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3625 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !740 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1353 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !362 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3628 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_atanhDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2264 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300642EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300642EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE509_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300811EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE634_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.1936.218, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3631 - store i32 19266, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3631 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3631 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3631 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3631 - store half 0xH34A8, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3631 - store half 0xH37A4, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3631 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !3631 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3631 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp3.i) #14, !noalias !3631 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !3631 - store i16 %1, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !3631 - %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3631 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i, i32 noundef %2) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3631 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3631 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3631 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 4, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 - %4 = load i32, ptr %resArg, align 4, !tbaa !1180 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp23 = alloca %"struct.std::array.2408", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp23.ascast = addrspacecast ptr %ref.tmp23 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp23) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2408") align 4 %ref.tmp23.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm12EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(48) %ref.tmp23.ascast) #13 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp23) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3634 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !617 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3635 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3635 - %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_powrDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_xv() #5 comdat !srcloc !3638 { -entry: - %0 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalInvocationId, align 32 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !181 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3639 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300308EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300308EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE307_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300779EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300779EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE602_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300859EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300859EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE650_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm5EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %t) #1 comdat !srcloc !1175 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <4 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret <4 x half> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300020EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300020EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE19_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300032EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE31_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3640 - store float 0x3FD8CA85A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3640 - store float 0x3FEB70D7A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3640 - store float 0x3FE36C87A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3640 - store float 0x3FE3197D40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3640 - store float 0x3FE5851540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3640 - store float 0x3FDA443840000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3640 - store float 0x3FDB9E4260000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3640 - store float 0x3FE3DC7F80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3640 - store float 0x3FB9E98360000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3640 - store float 0x3FD03F0A20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3640 - store float 0x3FD7857840000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3640 - store float 0x3FD2A87900000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3640 - store float 0x3FE3847600000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3640 - store float 0x3FD9C96A80000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3640 - store float 0x3FE99C5FE0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3640 - store float 0x3FE1BEA320000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3640 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3640 - store float 0x3FDB9E1B80000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3640 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3640 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3640 - call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3640 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3643 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3645 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2858 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300630EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE497_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3646 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3646 - store float 0x3FD3BC1CE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3646 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3646 - store float 0x3FE1068C00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3646 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3646 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3646 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3646 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3646 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3646 - call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3646 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301082EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE817_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3649 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3649 - store float 0x3FE376C100000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3649 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3649 - store float 0x3FC34740E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3649 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3649 - store float 0x3FE16EFA00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3649 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3649 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3649 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3649 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3649 - call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3649 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300918EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE697_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3652 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3652 - store float 0x3FD55FD3A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3652 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3652 - store float 0x3FD85B1120000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3652 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3652 - store float 0x3FE8878D60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3652 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3652 - store float 0x3FD2DC1BE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3652 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3652 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3652 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3652 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3652 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3652 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3652 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3652 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3652 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3655 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3656 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm6EE6_S_refERA6_Kim(ptr addrspace(4) noundef align 4 dereferenceable(24) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300301EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300301EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE300_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3657 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3657 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3657 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !3657 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !3657 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1428 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE13_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3660 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300903EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE682_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3663 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE760_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3666 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300403EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3669 - store float 0x3FDEE47640000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3669 - store float 0x3FEA59C720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3669 - store float 0x3FEC09FFC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3669 - store float 0x3FE3F33D60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3669 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3669 - store float 0x3FD0343180000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3669 - store float 0x3FE782F7C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3669 - store float 0x3FD9A99760000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3669 - store float 0x3FD3EEC540000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3669 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3669 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3669 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3669 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3669 - store i64 %0, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !3669 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3669 - store i64 %1, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !3669 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3669 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3672 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %t) #1 comdat !srcloc !1367 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300591EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300591EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE466_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !663 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3673 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3673 - %call1.i = tail call spir_func noundef <2 x half> @_Z18__spirv_ocl_tgammaDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16asinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3676 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300417EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE372_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.1936.218, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3677 - store i32 32393, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3677 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3677 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3677 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3677 - store half 0xH3B1B, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3677 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3677 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !3677 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !3677 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !3677 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !3677 - %2 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !126, !noalias !3677 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, i32 noundef %2) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !3677 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3677 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3677 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 4, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr %result, i64 0, i32 1 - %4 = load i32, ptr %resArg, align 4, !tbaa !1180 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - store i32 %4, ptr addrspace(4) %call3, align 4, !tbaa !126 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !3680 - ret ptr addrspace(1) %0 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300519EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE430_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3682 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, i32 noundef 4999) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm17EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300877EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE656_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3588, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3685 - call spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a2) #2 comdat !srcloc !1459 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - %2 = load i32, ptr %a2, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp3.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3688 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3688 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3688 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3688 - store i32 %2, ptr %agg.tmp3.i, align 4, !tbaa !69, !noalias !3688 - %call4.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp3.i) #13, !noalias !3688 - %call5.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_fmaDv2_DF16_S_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i, <2 x half> noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300687EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300687EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE554_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE50_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3691 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3691 - store float 0x3FE51C1160000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3691 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3691 - store float 0x3FDC3D1580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3691 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3691 - store float 0x3FD5DB8120000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3691 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3691 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3691 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3691 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3691 - call spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3691 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300307EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300307EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE306_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300338EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300338EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE337_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm12EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(24) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(24) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301051EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE786_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2798 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3694 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3694 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3694 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !983 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !3695 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !3695 - %call3.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_atan2Dv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300310EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300310EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE309_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !352 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300539EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !1021 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3698 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3698 - store half 0xH3167, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3698 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3698 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3698 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3698 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !646 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3701 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3702 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3703 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !655 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3704 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3704 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_asinhDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm3EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3076 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3707 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3707 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3707 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3680 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE55_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3708 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3210 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3711 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3712 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300681EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300681EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE548_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(64) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 7) #13 - %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 - %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 8) #13 - %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 - store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 - %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 9) #13 - %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 - store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 - %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 10) #13 - %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 - store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 - %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 11) #13 - %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 - store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 - %arrayinit.element24 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 13 - %call25 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 12) #13 - %15 = load i32, ptr addrspace(4) %call25, align 4, !tbaa !126 - store i32 %15, ptr addrspace(4) %arrayinit.element24, align 4, !tbaa !126 - %arrayinit.element26 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 14 - %call27 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 13) #13 - %16 = load i32, ptr addrspace(4) %call27, align 4, !tbaa !126 - store i32 %16, ptr addrspace(4) %arrayinit.element26, align 4, !tbaa !126 - %arrayinit.element28 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 15 - %call29 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 14) #13 - %17 = load i32, ptr addrspace(4) %call29, align 4, !tbaa !126 - store i32 %17, ptr addrspace(4) %arrayinit.element28, align 4, !tbaa !126 - %arrayinit.element30 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 16 - %call31 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm16EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(64) %A2, i64 noundef 15) #13 - %18 = load i32, ptr addrspace(4) %call31, align 4, !tbaa !126 - store i32 %18, ptr addrspace(4) %arrayinit.element30, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300735EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3713 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3713 - store float 0x3FE507DEC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3713 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3713 - store float 0x3FE40456A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3713 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3713 - store float 0x3FEAB59980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3713 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3713 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3713 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3713 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3713 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3713 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3713 - store float 0x3FD56E71C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3713 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3713 - store float 0x3FC074D700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3713 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3713 - store float 0x3FCE985D00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3713 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3713 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3713 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3713 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3713 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3713 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3713 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3713 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !3713 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3713 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3713 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3713 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3716 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3717 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300386EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE361_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %result = alloca %struct.privatePtrCheck.1740.208, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3719 - store float 0x3FE0E03B20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3719 - store float 0x3FDAF2D0E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3719 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3719 - store float 0x3FD791C6C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3719 - store float 0x3FDB105D20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3719 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3719 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3719 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3719 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3719 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3719 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3719 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !3719 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !3719 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !3719 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !3719 - %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !3719 - store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !3719 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !3719 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i32, ptr %resArg, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3722 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm2EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayIiLm2EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %this, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %this, ptr align 2 %res_t, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr addrspace(4) %this, i64 0, i32 1 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %resArg, ptr align 2 %resArg_t, i64 6, i1 false), !tbaa.struct !206 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300110EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE109_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH3AC7, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3724 - store half 0xH3885, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3724 - call spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1815 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3727 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3727 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3727 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300088EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300088EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE87_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300399EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300399EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE366_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300618EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300618EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE485_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300789EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE612_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH391A, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3728 - store half 0xH36DF, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3728 - call spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300032EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300032EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE31_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !133 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - %0 = load i16, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp4, align 2, !tbaa !99 - %2 = load i16, ptr %a1, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp6, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %4 = load i32, ptr %PartialRes, align 4 - store i32 %4, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3731 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300160EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE159_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3732 - store float 0x3FC0C0B4A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3732 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3732 - store float 0x3FE23059C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3732 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3732 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3732 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3732 - call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3732 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3347 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3735 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3736 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3737 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3738 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3739 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.1972") align 8 %a1) #2 comdat !srcloc !1517 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.1972", align 8 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3740 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3740 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3740 - %call2.i = tail call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp1.i) #13, !noalias !3740 - %call3.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_ldexpDv2_DF16_Dv2_i(<2 x half> noundef %call.i, <2 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm16EE6_S_refERA16_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(32) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1266 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3743 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300274EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300274EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE273_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300022EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300022EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE21_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300037EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE36_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3744 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300231EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300231EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE230_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !520 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1975 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3747 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3748 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3749 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <16 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_iNS0_3vecIiLi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 64 dereferenceable(64) %t) #1 comdat !srcloc !142 { -entry: - %call = tail call spir_func noundef <16 x i32> @_ZNK4sycl3_V13vecIiLi16EEcvDv16_iEv(ptr addrspace(4) noundef align 64 dereferenceable_or_null(64) %t) #13 - ret <16 x i32> %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300654EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300654EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE521_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1703 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3750 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3750 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_exp10Dv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3753 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300062EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE61_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3754 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3754 - store float 0x3FCBFE2620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3754 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3754 - store float 0x3FD38D6720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3754 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3754 - store float 0x3FE7465060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3754 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3754 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3754 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3754 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3754 - call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3754 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !2273 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3757 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_sinhDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300220EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300220EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE219_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3760 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [17 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp29 = alloca %"struct.std::array.2405", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp29.ascast = addrspacecast ptr %ref.tmp29 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 60, ptr nonnull %ref.tmp29) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2405") align 4 %ref.tmp29.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm15EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2404") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(60) %ref.tmp29.ascast) #13 - call void @llvm.lifetime.end.p0(i64 60, ptr nonnull %ref.tmp29) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300936EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3761 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3761 - store half 0xH3963, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3761 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3761 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !3761 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3761 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE12_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 57201268963452, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3764 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300989EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3767 - store float 0x3FD2FD0460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3767 - store float 0x3FC5CC3A00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3767 - store float 0x3FC7BA17E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3767 - store float 0x3FE8DE81C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3767 - store float 0x3FE31B1280000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3767 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3767 - store float 0x3FC7551340000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3767 - store float 0x3FE87C6260000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3767 - store float 0x3FE2BB6FE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3767 - store float 0x3FE2304FC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3767 - store float 0x3FDF9293E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3767 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3767 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3767 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3767 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3767 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !3767 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3767 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !3770 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3771 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3771 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !3771 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !3771 - %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_maxmagDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300750EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300750EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE577_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3774 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300928EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300928EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE707_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this) #1 comdat align 2 !srcloc !3775 { -entry: - ret i64 0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300596EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300596EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE467_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE780_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3776 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3779 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !617 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3781 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !3781 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !3781 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !3781 - %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_powrDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3784 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300117EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE116_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3785 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3785 - store float 0x3FE2ADF700000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3785 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3785 - store float 0x3FE0ED02E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3785 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3785 - store float 0x3FD3C338C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3785 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3785 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3785 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3785 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3785 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3785 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3785 - store float 0x3FD2447D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3785 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3785 - store float 0x3FC8F53DE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3785 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3785 - store float 0x3FE741E760000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3785 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3785 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3785 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3785 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3785 - call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !3785 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3785 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm2EE6_S_refERA2_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(4) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !3270 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3788 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3788 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_acoshDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300412EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3791 - store float 0x3FD1E1A4A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3791 - store float 0x3FE5DBC540000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3791 - store float 0x3FE1080D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3791 - store float 0x3FCC7F1200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3791 - store float 0x3FCDB7F540000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3791 - store float 0x3FBF5EB780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3791 - store float 0x3FC873BAC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3791 - store float 0x3FE30CFB40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3791 - store float 0x3FE3860E20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3791 - store float 0x3FE0B93E20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3791 - store float 0x3FE768D820000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3791 - store float 0x3FE130AB20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3791 - store float 0x3FD38741C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3791 - store float 0x3FE6CC5260000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3791 - store float 0x3FD9294DA0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3791 - store float 0x3FC15B09A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3791 - store float 0x3FD177BCA0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3791 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3791 - store float 0x3FDD2BCE60000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3791 - store float 0x3FE2E55080000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3791 - store float 0x3FE727CE60000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3791 - store float 0x3FE940D420000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3791 - store float 0x3FE70593E0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3791 - store float 0x3FE66FF5A0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3791 - store float 0x3FE24987A0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3791 - store float 0x3FD04AB500000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3791 - store float 0x3FE440D420000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3791 - store float 0x3FE4F9E480000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3791 - store float 0x3FD4205DC0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3791 - store float 0x3FD9668500000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3791 - store float 0x3FD571AA80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3791 - store float 0x3FECB04BC0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3791 - store float 0x3FE50BD360000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3791 - store float 0x3FD8CA2480000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3791 - store float 0x3FD05F2A00000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3791 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3791 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3791 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3791 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3791 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3791 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3791 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300076EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300076EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE75_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300129EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE128_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3794 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3794 - store float 0x3FC330BAE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3794 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3794 - store float 0x3FEC15E900000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3794 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3794 - store float 0x3FDC0A3220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3794 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3794 - store float 0x3FEA0BD280000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3794 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3794 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3794 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3794 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3794 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3794 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3794 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3794 - call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3794 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm4EE6_S_refERA4_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(8) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <16 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 32 dereferenceable(32) %t) #1 comdat !srcloc !971 { -entry: - %call = tail call spir_func noundef <16 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEcvDv16_DF16_Ev(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %t) #13 - ret <16 x half> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300287EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE286_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp3.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3797 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !3797 - store <2 x half> , ptr %agg.tmp3.i, align 4, !tbaa.struct !90, !noalias !3797 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp17 = alloca %"struct.std::array.2411", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp17.ascast = addrspacecast ptr %ref.tmp17 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 36, ptr nonnull %ref.tmp17) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2411") align 4 %ref.tmp17.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm9EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(36) %ref.tmp17.ascast) #13 - call void @llvm.lifetime.end.p0(i64 36, ptr nonnull %ref.tmp17) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3800 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3623 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3801 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300286EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE285_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - store half 0xH345F, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3802 - store half 0xH3818, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !3802 - store half 0xH3810, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !3802 - call spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300180EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300180EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE179_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300069EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE68_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3805 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300073EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE72_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3808 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3808 - store float 0x3FDB734C00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3808 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3808 - store float 0x3FE2DC8060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3808 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3808 - store float 0x3FDA32BB40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3808 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3808 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3808 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3808 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3808 - call spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3808 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300672EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE539_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3811 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !3811 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm8EE6_S_refERA8_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(16) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [8 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1059 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(24) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 7) #13 - %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 - %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 8) #13 - %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 - store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 - %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 9) #13 - %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 - store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 - %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 10) #13 - %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 - store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 - %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm12EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(24) %A2, i64 noundef 11) #13 - %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 - store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300115EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300115EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE114_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300223EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300223EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE222_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(34) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3814 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3815 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EEC2EPU3AS0S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3817 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300921EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300921EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE700_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %left, ptr addrspace(4) noundef align 8 dereferenceable(8) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = trunc i64 %i.0 to i32 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %left, i32 noundef %conv) #13 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %right, i32 noundef %conv) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !3819 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300490EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300490EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE401_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300092EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300092EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE91_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1128 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3820 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300628EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE495_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3821 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300273EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300273EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE272_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !367 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3824 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3824 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_tanpiDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3827 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %agg.result, i64 noundef 0) #13 - %0 = load i64, ptr %PartialRes, align 8 - store i64 %0, ptr addrspace(4) %call, align 4 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - %call5 = call spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %agg.result, i64 noundef 2) #13 - store i32 %call5, ptr addrspace(4) %call6, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !581 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16lgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300351EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300351EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE350_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V19remainderENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3828 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp23 = alloca %"struct.std::array.141.17", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp23.ascast = addrspacecast ptr %ref.tmp23 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp23) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.141.17") align 2 %ref.tmp23.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm12EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.139.16") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(24) %ref.tmp23.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp23) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301066EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301066EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE801_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300996EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3829 - store float 0x3FE78E7D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3829 - store float 0x3FD9E1BCE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3829 - store float 0x3FCB77A1E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3829 - store float 0x3FD21E3EE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3829 - store float 0x3FECAE62A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3829 - store float 0x3FE3ECEF00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3829 - store float 0x3FE0690CC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3829 - store float 0x3FE430EE20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3829 - store float 0x3FC2370600000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3829 - store float 0x3FD07D0B40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3829 - store float 0x3FDB4363E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3829 - store float 0x3FE8786340000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3829 - store float 0x3FC004A6A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3829 - store float 0x3FD1D9E260000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3829 - store float 0x3FE73B7E20000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3829 - store float 0x3FE339C620000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3829 - store float 0x3FC9886E00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3829 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3829 - store float 0x3FD77727E0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3829 - store float 0x3FE1D76200000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3829 - store float 0x3FCB9C86A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3829 - store float 0x3FC3A63780000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3829 - store float 0x3FEC8A0EC0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3829 - store float 0x3FE9321400000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3829 - store float 0x3FD4C4E700000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3829 - store float 0x3FE6B03C20000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3829 - store float 0x3FE4E1B220000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3829 - store float 0x3FBAE689C0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3829 - store float 0x3FE3583220000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3829 - store float 0x3FD0CB24A0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3829 - store float 0x3FC7784700000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3829 - store float 0x3FE5C70160000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3829 - store float 0x3FE2E75040000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3829 - store float 0x3FE9FD20E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3829 - store float 0x3FE1B97480000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3829 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3829 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3829 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3829 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3829 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3829 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3829 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_Z20__spirv_GlobalSize_xv() #5 comdat !srcloc !3832 { -entry: - %0 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalSize, align 32 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #4 comdat align 2 !srcloc !412 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIS4_Lm4EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr addrspace(4) noundef align 16 dereferenceable(16) %t) #1 comdat !srcloc !971 { -entry: - %0 = load <8 x half>, ptr addrspace(4) %t, align 16, !tbaa !69 - tail call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IDv8_DF16_vEES7_(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.result, <8 x half> noundef %0) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301007EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE742_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300678EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE545_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3833 - store float 0x3FE9E63D80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3833 - store float 0x3FD719AA40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3833 - store float 0x3FE885CFA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3833 - store float 0x3FEB2305C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3833 - store float 0x3FEB5823E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3833 - store float 0x3FD9966F00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3833 - store float 0x3FD3452800000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3833 - store float 0x3FE3502760000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3833 - store float 0x3FBE82D0C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3833 - store float 0x3FEC8EE920000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3833 - store float 0x3FD487A760000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3833 - store float 0x3FDCEB41C0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3833 - store float 0x3FD48776E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3833 - store float 0x3FEAF5C480000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3833 - store float 0x3FE8C64700000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3833 - store float 0x3FE0EAD600000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3833 - store float 0x3FE26B66C0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3833 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3833 - store float 0x3FEB5B06E0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3833 - store float 0x3FC911DC00000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3833 - store float 0x3FC380A760000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3833 - store float 0x3FD2EBB180000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3833 - store float 0x3FC28784C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3833 - store float 0x3FE1965C00000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3833 - store float 0x3FD79FE620000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3833 - store float 0x3FE941C580000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3833 - store float 0x3FC498DA60000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3833 - store float 0x3FCB2F53A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3833 - store float 0x3FE1F66A00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3833 - store float 0x3FCEB87780000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3833 - store float 0x3FE6DA19A0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3833 - store float 0x3FCA84CAE0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3833 - store float 0x3FE0B7FD20000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3833 - store float 0x3FE3EC83A0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3833 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3833 - store float 0x3FD49E2080000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3833 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3833 - call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3833 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3833 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1723 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3836 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_log10Dv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE6_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3839 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3839 - store float 0x3FE59FDB40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3839 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3839 - store float 0x3FDAD1DC20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3839 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3839 - store float 0x3FE850E760000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3839 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3839 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3839 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3839 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3839 - call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3839 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2900 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.77.9", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300760EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE583_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3842 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !3842 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300523EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE434_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3845 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3845 - store float 0x3FC911A4C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3845 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3845 - store float 0x3FD1289220000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3845 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3845 - store float 0x3FD1B234E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3845 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3845 - store float 0x3FCCAAE540000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3845 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3845 - store float 0x3FE0681360000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3845 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3845 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3845 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3845 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3845 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3845 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3845 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, i32 noundef 7348) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3845 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300266EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300266EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE265_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.119.12", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301039EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE774_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300148EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300148EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE147_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm5EE6_S_refERA5_Kim(ptr addrspace(4) noundef align 4 dereferenceable(20) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [5 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300020EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE19_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3848 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3848 - store float 0x3FE8165E40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3848 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3848 - store float 0x3FC71A2A80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3848 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3848 - store float 0x3FCBC98000000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3848 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3848 - store float 0x3FE50F7440000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3848 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3848 - store float 0x3FC16E9580000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3848 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3848 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3848 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3848 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3848 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3848 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3848 - call spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3848 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3851 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv21InitSizesSTGlobalSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !3852 { -entry: - %call = tail call spir_func noundef i64 @_ZN7__spirvL13getGlobalSizeILi0EEEmv() #13 - tail call spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301070EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE805_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3853 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3853 - store float 0x3FCCC5CF20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3853 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3853 - store float 0x3FD31AE360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3853 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3853 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3853 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3853 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3853 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3853 - call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3853 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp5 = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp5) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp5.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp5) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm9EE6_S_refERA9_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(18) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [9 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300890EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300890EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE669_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300131EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE130_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3856 - store float 0x3FEC7643E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3856 - store float 0x3FE654C3A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3856 - store float 0x3FD9FE1C20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3856 - store float 0x3FDB5AF920000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3856 - store float 0x3FD3E74E00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3856 - store float 0x3FE0CD5E40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3856 - store float 0x3FE6084520000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3856 - store float 0x3FE4C73500000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3856 - store float 0x3FDE1671A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3856 - store float 0x3FC1183500000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3856 - store float 0x3FEACA64C0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3856 - store float 0x3FDB566080000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3856 - store float 0x3FDA622020000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3856 - store float 0x3FBA3CA8E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3856 - store float 0x3FCAF457E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3856 - store float 0x3FE9715160000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3856 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3856 - store float 0x3FE05B5260000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3856 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3856 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3856 - call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3856 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !3680 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm5EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !235 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3859 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_roundDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300228EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300228EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE227_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300113EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE112_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !3862 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !3862 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301053EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE788_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3645, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3865 - call spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3868 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3870 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3871 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3870 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300683EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300683EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE550_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE759_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !3872 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301020EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE755_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH38C9, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3875 - call spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3878 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15log10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3880 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300977EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3881 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3881 - store float 0x3FC69C8200000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3881 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3881 - store float 0x3FDB4187C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3881 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3881 - store float 0x3FD1501FE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3881 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3881 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3881 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3881 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3881 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3881 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3881 - store float 0x3FE94471A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3881 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3881 - store float 0x3FE62967E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3881 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3881 - store float 0x3FE9A36300000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3881 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3881 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3881 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3881 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3881 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3881 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3881 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3881 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !3881 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3881 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3881 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3881 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !2479 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300614EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE481_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3884 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300651EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300651EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE518_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300752EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 8 dereferenceable(34) %this, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3887 - store float 0x3FEC19B5A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3887 - store float 0x3FE472F160000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3887 - store float 0x3FCADFF0A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3887 - store float 0x3FEB980E60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3887 - store float 0x3FE9E17B60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3887 - store float 0x3FE64421C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3887 - store float 0x3FE038CB60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3887 - store float 0x3FE486ECC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3887 - store float 0x3FE1EA0780000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3887 - store float 0x3FE021C520000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3887 - store float 0x3FC5B75800000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3887 - store float 0x3FDA233680000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3887 - store float 0x3FDA7FC5E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3887 - store float 0x3FDDD7EC60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3887 - store float 0x3FE8584260000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3887 - store float 0x3FD5B95D20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3887 - store float 0x3FC7E087A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3887 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3887 - store float 0x3FD0D527A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3887 - store float 0x3FE176DD00000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3887 - store float 0x3FDB02A580000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3887 - store float 0x3FEC080E00000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3887 - store float 0x3FC9E854C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3887 - store float 0x3FE0697460000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3887 - store float 0x3FE7D24D80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3887 - store float 0x3FD513D880000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3887 - store float 0x3FEA0FF3E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3887 - store float 0x3FE859FE60000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3887 - store float 0x3FDBE50220000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3887 - store float 0x3FE6AD6F00000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3887 - store float 0x3FDC51B900000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3887 - store float 0x3FE73FDD80000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3887 - store float 0x3FD7B420C0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3887 - store float 0x3FE1A9D920000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3887 - store float 0x3FDB4F2200000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3887 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3887 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3887 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3887 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3887 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3887 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3887 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(34) %call8, ptr addrspace(4) noundef align 2 dereferenceable(34) %call6, i64 34, i1 false), !tbaa.struct !401 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_Z27__spirv_LocalInvocationId_xv() #5 comdat !srcloc !3890 { -entry: - %0 = load i64, ptr addrspace(1) @__spirv_BuiltInLocalInvocationId, align 32 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300524EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300524EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE435_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2621 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail16PointerConverterIPU3AS0iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { -entry: - %call = tail call spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iS4_EET_T0_(ptr noundef %call) #13 - ret ptr %call1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !208 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3891 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3891 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_log1pDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !3254 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !3894 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_log2Dv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300415EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3897 - store float 0x3FEC7F6C40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3897 - store float 0x3FD78A56C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3897 - store float 0x3FDD1DBBA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3897 - store float 0x3FD7F9AD20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3897 - store float 0x3FD6D9A600000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3897 - store float 0x3FD2D0EC80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3897 - store float 0x3FD8778020000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3897 - store float 0x3FD8EF9D40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3897 - store float 0x3FD8C05B20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3897 - store float 0x3FEB777780000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3897 - store float 0x3FD99C2EC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3897 - store float 0x3FBD2ADE60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3897 - store float 0x3FEBE66BC0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3897 - store float 0x3FE21307E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3897 - store float 0x3FD62E0D80000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3897 - store float 0x3FE7853CC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3897 - store float 0x3FBE1B8FC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3897 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3897 - store float 0x3FE913F600000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3897 - store float 0x3FC8F78A00000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3897 - store float 0x3FBE8E4740000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3897 - store float 0x3FCB7B4D40000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3897 - store float 0x3FE894DCE0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3897 - store float 0x3FC1FEB280000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3897 - store float 0x3FEA97C700000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3897 - store float 0x3FD55767E0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3897 - store float 0x3FD07C6B80000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3897 - store float 0x3FE3F810E0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3897 - store float 0x3FD2CFE420000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3897 - store float 0x3FE1AB8900000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3897 - store float 0x3FE6C17F80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3897 - store float 0x3FE44AF460000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3897 - store float 0x3FD6A66840000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3897 - store float 0x3FE369C740000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3897 - store float 0x3FE34C28E0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3897 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3897 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3897 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3897 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3897 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3897 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3897 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300733EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE572_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1778.210, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3900 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3900 - store float 0x3FECBEAA20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3900 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3900 - store float 0x3FC8B07340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3900 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3900 - store float 0x3FD5D2DAE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3900 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3900 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3900 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3900 - store float 0x3FDE553400000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3900 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3900 - store float 0x3FDA1A9380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3900 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3900 - store float 0x3FD05B9580000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3900 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3900 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3900 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3900 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !3900 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3900 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !3900 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !3900 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3900 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3903 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3903 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !3903 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !3903 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS3i(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !3903 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300908EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE687_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3906 - store float 0x3FE03CE8E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3906 - store float 0x3FE1895D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3906 - store float 0x3FE72827C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3906 - store float 0x3FD83D5660000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3906 - store float 0x3FE1C99440000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3906 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3906 - call spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3906 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EEC2EPU3AS0i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300602EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE469_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH309A, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3909 - call spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300208EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE207_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3912 - store float 0x3FE0705360000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3912 - store float 0x3FE2C57480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3912 - store float 0x3FD10DC9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3912 - store float 0x3FE55402C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3912 - store float 0x3FDB230B00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3912 - store float 0x3FBDEF7840000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3912 - store float 0x3FCA8C8820000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3912 - store float 0x3FDA46DA00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3912 - store float 0x3FE9DC5080000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3912 - store float 0x3FE1A99B20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3912 - store float 0x3FEAA7FB60000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3912 - store float 0x3FEAFEAA60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3912 - store float 0x3FC5B01420000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3912 - store float 0x3FE24220E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3912 - store float 0x3FD7872040000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3912 - store float 0x3FE02C8860000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3912 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3912 - store float 0x3FDDB90E00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3912 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3912 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3912 - call spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3912 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE1_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 60233562076394, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3915 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300608EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300608EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE475_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300405EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE368_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1854.214, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3918 - store float 0x3FE5777720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3918 - store float 0x3FE914E720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3918 - store float 0x3FD7A6D360000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3918 - store float 0x3FEBA2A440000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3918 - store float 0x3FE19B0BE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3918 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3918 - store float 0x3FD56F2280000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3918 - store float 0x3FCD76E8E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3918 - store float 0x3FE5CB5600000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3918 - store float 0x3FD4CAABA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3918 - store float 0x3FE7E84E40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3918 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3918 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3918 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !3918 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3918 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !3918 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !3918 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !3918 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300599EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3921 - store float 0x3FD0F0B080000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3921 - store float 0x3FE77ACE00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3921 - store float 0x3FDA03D8A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3921 - store float 0x3FD62A6AA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3921 - store float 0x3FBFB2A200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3921 - store float 0x3FE75A0E80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3921 - store float 0x3FE2F16240000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3921 - store float 0x3FD97C71E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3921 - store float 0x3FDDDBBDE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3921 - store float 0x3FE204E4C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3921 - store float 0x3FDB378600000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3921 - store float 0x3FD065A7E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3921 - store float 0x3FE18DF1E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3921 - store float 0x3FD41A1840000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3921 - store float 0x3FE38927E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3921 - store float 0x3FD66696E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3921 - store float 0x3FE294D160000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3921 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3921 - store i32 22172, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3921 - store i32 -17960, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3921 - store i32 16728, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3921 - store i32 -5876, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3921 - store i32 -28053, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3921 - store i32 -5439, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3921 - store i32 31526, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3921 - store i32 11441, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3921 - store i32 -2869, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3921 - store i32 -36, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3921 - store i32 31593, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3921 - store i32 29719, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3921 - store i32 -51, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3921 - store i32 -18404, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3921 - store i32 -15255, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3921 - store i32 -13128, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3921 - store i32 2799, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !3921 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3921 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3921 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !3921 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3921 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !3921 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3921 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3924 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300268EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300268EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE267_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !131 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300801EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300801EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE624_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3925 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %t) #1 comdat !srcloc !971 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca float, align 4 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %0 = load half, ptr addrspace(4) %t, align 2, !tbaa !99 - %conv = fpext half %0 to float - store float %conv, ptr %ref.tmp, align 4, !tbaa !82 - call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !372 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3927 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3927 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3927 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1225 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !3928 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_exp2Dv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !2018 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3931 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3931 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_cbrtDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3934 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3936 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !3937 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !3936 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffffEE6CreateERKfSA_SA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp5 = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp5.ascast = addrspacecast ptr %ref.tmp5 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp5) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp5.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm3EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp5.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp5) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300220EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE219_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3900, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !3938 - call spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !890 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15sinpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300172EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300172EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE171_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300029EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE28_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3941 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3941 - store float 0x3FE8A4E580000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3941 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3941 - store float 0x3FD33F6CC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3941 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3941 - store float 0x3FE18D2640000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3941 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !3941 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3941 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3941 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3941 - call spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !3941 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this) #4 comdat align 2 !srcloc !569 { -entry: - br label %arrayinit.body - -arrayinit.body: ; preds = %arrayinit.body, %entry - %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] - %arrayinit.cur.ptr = getelementptr inbounds i32, ptr addrspace(4) %this, i64 %arrayinit.cur.idx - store i32 0, ptr addrspace(4) %arrayinit.cur.ptr, align 4, !tbaa !126 - %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 - %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 3 - br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body - -arrayinit.end2: ; preds = %arrayinit.body - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3944 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300876EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp35.i = alloca i32, align 4 - %ref.tmp36.i = alloca i32, align 4 - %ref.tmp37.i = alloca i32, align 4 - %ref.tmp38.i = alloca i32, align 4 - %ref.tmp39.i = alloca i32, align 4 - %ref.tmp40.i = alloca i32, align 4 - %ref.tmp41.i = alloca i32, align 4 - %ref.tmp42.i = alloca i32, align 4 - %ref.tmp43.i = alloca i32, align 4 - %ref.tmp44.i = alloca i32, align 4 - %ref.tmp45.i = alloca i32, align 4 - %ref.tmp46.i = alloca i32, align 4 - %ref.tmp47.i = alloca i32, align 4 - %ref.tmp48.i = alloca i32, align 4 - %ref.tmp49.i = alloca i32, align 4 - %ref.tmp50.i = alloca i32, align 4 - %ref.tmp51.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp54.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp54.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) - %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) - %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) - %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) - %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) - %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) - %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) - %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) - %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) - %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) - %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) - %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) - %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) - %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) - %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) - %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) - %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3946 - store float 0x3FD30EF220000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3946 - store float 0x3FE290BD20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3946 - store float 0x3FE48F3580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3946 - store float 0x3FE3D80CE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3946 - store float 0x3FCCE6CF80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3946 - store float 0x3FBBA43E00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3946 - store float 0x3FDF4A55C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3946 - store float 0x3FEA404960000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3946 - store float 0x3FCB155960000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3946 - store float 0x3FD59EA760000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3946 - store float 0x3FEB40FE00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3946 - store float 0x3FEC8901E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3946 - store float 0x3FC66838A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3946 - store float 0x3FEC0746A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3946 - store float 0x3FC0ECC6E0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3946 - store float 0x3FE2A21D80000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3946 - store float 0x3FEBD41DE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3946 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3946 - store float 0x3FD73D28A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3946 - store float 0x3FD380F680000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3946 - store float 0x3FDEF05460000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3946 - store float 0x3FCEF9E160000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3946 - store float 0x3FCF5EDBE0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3946 - store float 0x3FE4FB8020000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3946 - store float 0x3FE87CE240000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3946 - store float 0x3FE637F640000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3946 - store float 0x3FC468FBC0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3946 - store float 0x3FD8688B20000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3946 - store float 0x3FEB2E13C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3946 - store float 0x3FD5DB1EA0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3946 - store float 0x3FEAD83C60000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3946 - store float 0x3FD5CFF320000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3946 - store float 0x3FD8CC24C0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3946 - store float 0x3FDA128F40000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3946 - store float 0x3FC22B91A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !3946 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !3946 - store i32 -11292, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !3946 - store i32 16478, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !3946 - store i32 -26891, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !3946 - store i32 4507, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !3946 - store i32 -25532, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !3946 - store i32 22027, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !3946 - store i32 10881, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !3946 - store i32 -5211, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !3946 - store i32 23851, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !3946 - store i32 1473, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !3946 - store i32 -5604, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !3946 - store i32 -11169, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !3946 - store i32 27764, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !3946 - store i32 -958, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !3946 - store i32 8575, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !3946 - store i32 21820, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !3946 - store i32 -26519, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !3946 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !3946 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3946 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !3946 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !3946 - store i64 %0, ptr %agg.tmp54.i, align 8, !tbaa !128, !noalias !3946 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp54.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3946 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp54.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300534EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300534EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE445_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300209EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300209EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE208_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !243 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3949 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !3949 - %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_erfDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !3952 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !3953 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !3953 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_sqrtDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1099 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3956 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3956 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !3956 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !3956 - %call3.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_fmaxDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300806EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE629_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3959 - store float 0x3FE9721AE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3959 - store float 0x3FE1D57880000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3959 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !3959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3959 - store float 0x3FE1D6D400000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3959 - store float 0x3FEA7C8FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3959 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3959 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3959 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3959 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !3959 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !3959 - call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !3959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300931EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE710_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3962 - store float 0x3FD8D99420000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3962 - store float 0x3FE23C4A60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3962 - store float 0x3FEAFA7BA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3962 - store float 0x3FDCE4E320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3962 - store float 0x3FD73D52C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3962 - store float 0x3FC91E07E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3962 - store float 0x3FE43A8E60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3962 - store float 0x3FEC28A8A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3962 - store float 0x3FCF93FE40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3962 - store float 0x3FE1F2B620000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3962 - store float 0x3FECB87C00000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3962 - store float 0x3FE1495A80000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3962 - store float 0x3FEB34AEA0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3962 - store float 0x3FE73C11C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3962 - store float 0x3FD4F3CF40000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3962 - store float 0x3FE1B11280000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !3962 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3962 - store float 0x3FE5488920000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !3962 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3962 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3962 - call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !3962 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300015EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300015EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE14_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm5EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !3440 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300487EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE398_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3965 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !3965 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300623EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300623EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE490_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1006 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300403EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300403EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3, i32 noundef %a1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !3968 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3969 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !3971 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !3972 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !3973 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1001 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3974 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3974 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !3974 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300999EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300999EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE734_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp13, ptr noundef nonnull align 16 dereferenceable(16) %agg.tmp1, i64 16, i1 false) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !3975 - %call2.i = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !3975 - %call3.i = call spir_func noundef <8 x half> @_Z16__spirv_ocl_fmaxDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300064EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300064EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE63_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300992EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300992EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE731_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300787EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300787EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE610_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300798EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300798EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE621_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(32) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 7) #13 - %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 - %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 8) #13 - %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 - store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 - %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 9) #13 - %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 - store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 - %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 10) #13 - %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 - store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 - %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 11) #13 - %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 - store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 - %arrayinit.element24 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 13 - %call25 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 12) #13 - %15 = load i16, ptr addrspace(4) %call25, align 2, !tbaa !99 - store i16 %15, ptr addrspace(4) %arrayinit.element24, align 2, !tbaa !99 - %arrayinit.element26 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 14 - %call27 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 13) #13 - %16 = load i16, ptr addrspace(4) %call27, align 2, !tbaa !99 - store i16 %16, ptr addrspace(4) %arrayinit.element26, align 2, !tbaa !99 - %arrayinit.element28 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 15 - %call29 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 14) #13 - %17 = load i16, ptr addrspace(4) %call29, align 2, !tbaa !99 - store i16 %17, ptr addrspace(4) %arrayinit.element28, align 2, !tbaa !99 - %arrayinit.element30 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 16 - %call31 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm16EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(32) %A2, i64 noundef 15) #13 - %18 = load i16, ptr addrspace(4) %call31, align 2, !tbaa !99 - store i16 %18, ptr addrspace(4) %arrayinit.element30, align 2, !tbaa !99 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #4 comdat align 2 !srcloc !3978 { -entry: - tail call spir_func void @_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300174EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300174EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE173_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300676EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300676EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE543_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300464EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE387_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.2307.234, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3979 - store float 0x3FE12332A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3979 - store float 0x3FD95C0800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3979 - store float 0x3FEAC5C440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3979 - store float 0x3FD4159E80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !3979 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3979 - store i32 15153, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3979 - store i32 -25694, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3979 - store i32 -24555, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3979 - store i32 20798, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !3979 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3979 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !3979 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !3979 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !3979 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3979 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !3979 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !3979 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !3979 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !3979 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !3979 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !3979 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300457EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300457EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300893EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE672_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2156", align 64 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !3982 - store <16 x i32> , ptr %agg.tmp2.i, align 64, !tbaa.struct !689, !noalias !3982 - call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3985 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300035EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE34_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 60804664015114, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !3986 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300729EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1748.209, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 - store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300729EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300221EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE220_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3989 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !716 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3992 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !3992 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_atanDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300644EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300644EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE511_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2478 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300761EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300761EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE584_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300669EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE536_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !3995 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !3995 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %a1) #2 comdat !srcloc !874 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15ldexpENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !3998 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301081EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE816_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3999 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3999 - store float 0x3FDB5DC120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !3999 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3999 - store float 0x3FC25C1820000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !3999 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !3999 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !3999 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !3999 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !3999 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !3999 - call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !3999 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !362 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4002 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_atanhDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300483EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300483EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE394_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300736EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4005 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4005 - store float 0x3FE4CBEDA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4005 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4005 - store float 0x3FD7719020000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4005 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4005 - store float 0x3FC8D791C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4005 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4005 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4005 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4005 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4005 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4005 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4005 - store float 0x3FE27439C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4005 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4005 - store float 0x3FEA9137C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4005 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4005 - store float 0x3FC4904A20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4005 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4005 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4005 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4005 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4005 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4005 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4005 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4005 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !4005 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4005 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4005 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4005 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300164EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE163_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4008 - store float 0x3FDECBCAA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4008 - store float 0x3FE16E7A60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4008 - store float 0x3FE11CB4E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4008 - store float 0x3FE8350BE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4008 - store float 0x3FD7FB2FE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4008 - store float 0x3FE8030740000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4008 - store float 0x3FC4FD9D00000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4008 - store float 0x3FDC4CC860000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4008 - store float 0x3FD8705480000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4008 - store float 0x3FDD855BA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4008 - store float 0x3FE889B0A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4008 - store float 0x3FE05142C0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4008 - store float 0x3FEC793840000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4008 - store float 0x3FE940DE80000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4008 - store float 0x3FC8F84BC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4008 - store float 0x3FD69FF600000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4008 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4008 - store float 0x3FBE411220000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4008 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4008 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4008 - call spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4008 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300672EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300672EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE539_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300898EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300898EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE677_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300179EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300179EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE178_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !2765 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301072EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301072EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE807_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300535EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE446_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4011 - store float 0x3FC9D05840000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4011 - store float 0x3FEA8CC300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4011 - store float 0x3FCD600E80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4011 - store float 0x3FD7DDFDC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4011 - store float 0x3FE00879C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4011 - store float 0x3FE948CE80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4011 - store float 0x3FE6892920000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4011 - store float 0x3FE24DDEA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4011 - store float 0x3FEC410280000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4011 - store float 0x3FE05EFDA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4011 - store float 0x3FD06127A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4011 - store float 0x3FDF6BD440000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4011 - store float 0x3FD97E5200000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4011 - store float 0x3FDA9B6BE0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4011 - store float 0x3FDFC62380000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4011 - store float 0x3FE83AA780000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4011 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4011 - store float 0x3FE12F9840000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4011 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4011 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4011 - call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4011 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300617EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE484_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4014 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EE4sizeEv() #1 comdat align 2 !srcloc !587 { -entry: - ret i64 16 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300764EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300764EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE587_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300765EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300765EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE588_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300135EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300135EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE134_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE741_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4017 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4017 - store float 0x3FE7527780000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4017 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4017 - store float 0x3FE49DFB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4017 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4017 - store float 0x3FD1683EE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4017 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4017 - store float 0x3FCB4BB300000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4017 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4017 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4017 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4017 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4017 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4017 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4017 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4017 - call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4017 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300979EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4020 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4020 - store float 0x3FD8657F80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4020 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4020 - store float 0x3FE8582FE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4020 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4020 - store float 0x3FE5A0C320000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4020 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4020 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4020 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4020 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4020 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4020 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4020 - store float 0x3FEA876720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4020 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4020 - store float 0x3FD97CBFA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4020 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4020 - store float 0x3FECB32CA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4020 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4020 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4020 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4020 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4020 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4020 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4020 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4020 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !4020 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4020 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4020 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4020 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %t) #1 comdat !srcloc !1367 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300534EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE445_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4023 - store float 0x3FD8FFF760000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4023 - store float 0x3FBC93C940000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4023 - store float 0x3FCBE03F40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4023 - store float 0x3FE4367AE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4023 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4023 - store float 0x3FD48E9EC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4023 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4023 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4023 - call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4023 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300421EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300421EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !730 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300752EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1900.217, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300752EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !803 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4026 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !843 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4027 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_truncDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300242EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE241_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3923, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4030 - call spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !332 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4033 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4033 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_logbDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300290EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE289_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp3.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4036 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4036 - store <8 x half> , ptr %agg.tmp3.i, align 16, !tbaa.struct !209, !noalias !4036 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300388EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1748.209, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 - store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300388EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4039 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4040 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4040 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_fabsDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !526 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300132EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE131_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH397D, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4043 - call spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1099 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4046 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4046 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4046 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4046 - %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fmaxDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp15 = alloca %"struct.std::array.2412", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp15.ascast = addrspacecast ptr %ref.tmp15 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp15) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2412") align 4 %ref.tmp15.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm8EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(32) %ref.tmp15.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp15) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300585EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300585EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE464_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300354EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4049 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4049 - store half 0xH3967, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4049 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4049 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !4049 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4049 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300126EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE125_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4052 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300244EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300244EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE243_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300853EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300853EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE648_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv17initWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !4055 { -entry: - tail call spir_func void @_ZN7__spirv24InitSizesSTWorkgroupSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EEC2EPU3AS0i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !3462 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE60_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4056 - store float 0x3FE824D220000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4056 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4056 - store float 0x3FC06E9440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4056 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4056 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4056 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4056 - call spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4056 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300055EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300055EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE54_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(12) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !311 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !3274 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300529EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE440_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4059 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300681EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE548_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 63596370212062, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4062 - store i64 64992342586622, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4062 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm10EE6_S_refERA10_Kim(ptr addrspace(4) noundef align 4 dereferenceable(40) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301063EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE798_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4065 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !3254 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4066 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4066 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_log2Dv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4069 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300338EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE337_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp18.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp18.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4070 - store float 0x3FEADAC900000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4070 - store float 0x3FD5AB7BA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4070 - store float 0x3FDD312CA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4070 - store float 0x3FE3793B80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4070 - store float 0x3FD2878040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4070 - store float 0x3FE3C53D80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4070 - store float 0x3FEA52E3A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4070 - store float 0x3FD614D120000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4070 - store float 0x3FD93CD5A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4070 - store float 0x3FDD6FD940000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4070 - store float 0x3FDA2DF180000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4070 - store float 0x3FE3AB4720000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4070 - store float 0x3FC21F2440000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4070 - store float 0x3FE7159E20000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4070 - store float 0x3FD5027040000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4070 - store float 0x3FE31F9440000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4070 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4070 - store float 0x3FDC1A2060000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4070 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4070 - store half 0xH38B6, ptr %agg.tmp18.i, align 2, !tbaa.struct !119, !noalias !4070 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp18.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4070 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp18.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300662EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE529_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4073 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4073 - store <16 x half> , ptr %agg.tmp3.i, align 32, !tbaa.struct !68, !noalias !4073 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm4EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300512EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300512EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE423_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Size) #4 comdat align 2 !srcloc !4076 { -entry: - %0 = load i64, ptr %Size, align 8 - store i64 %0, ptr addrspace(4) %this, align 8 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - tail call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %MemRange) #13 - %Offset = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - tail call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %Offset) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, i32 noundef %a1) #2 comdat !srcloc !516 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2156", align 64 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %a1.addr = alloca i32, align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.2156", align 64 - %a1.addr.ascast = addrspacecast ptr %a1.addr to ptr addrspace(4) - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - store i32 %a1, ptr %a1.addr, align 4, !tbaa !126 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call spir_func void @_ZN4sycl3_V13vecIiLi16EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 64 dereferenceable_or_null(64) %agg.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %a1.addr.ascast) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp13) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 64 dereferenceable(64) %agg.tmp13, ptr noundef nonnull align 64 dereferenceable(64) %agg.tmp1, i64 64, i1 false) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !4077 - %call2.i = call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp13) #13, !noalias !4077 - %call3.i = call spir_func noundef <16 x half> @_Z17__spirv_ocl_ldexpDv16_DF16_Dv16_i(<16 x half> noundef %call.i, <16 x i32> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.133.13") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(30) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 7) #13 - %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 - %arrayinit.element16 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 8) #13 - %11 = load i16, ptr addrspace(4) %call17, align 2, !tbaa !99 - store i16 %11, ptr addrspace(4) %arrayinit.element16, align 2, !tbaa !99 - %arrayinit.element18 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 9) #13 - %12 = load i16, ptr addrspace(4) %call19, align 2, !tbaa !99 - store i16 %12, ptr addrspace(4) %arrayinit.element18, align 2, !tbaa !99 - %arrayinit.element20 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 10) #13 - %13 = load i16, ptr addrspace(4) %call21, align 2, !tbaa !99 - store i16 %13, ptr addrspace(4) %arrayinit.element20, align 2, !tbaa !99 - %arrayinit.element22 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 11) #13 - %14 = load i16, ptr addrspace(4) %call23, align 2, !tbaa !99 - store i16 %14, ptr addrspace(4) %arrayinit.element22, align 2, !tbaa !99 - %arrayinit.element24 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 13 - %call25 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 12) #13 - %15 = load i16, ptr addrspace(4) %call25, align 2, !tbaa !99 - store i16 %15, ptr addrspace(4) %arrayinit.element24, align 2, !tbaa !99 - %arrayinit.element26 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 14 - %call27 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 13) #13 - %16 = load i16, ptr addrspace(4) %call27, align 2, !tbaa !99 - store i16 %16, ptr addrspace(4) %arrayinit.element26, align 2, !tbaa !99 - %arrayinit.element28 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 15 - %call29 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm15EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(30) %A2, i64 noundef 14) #13 - %17 = load i16, ptr addrspace(4) %call29, align 2, !tbaa !99 - store i16 %17, ptr addrspace(4) %arrayinit.element28, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300572EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300572EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE459_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3469 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !1063 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V17atan2piENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300491EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300491EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE402_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300917EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300917EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE696_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %left, ptr addrspace(4) noundef align 16 dereferenceable(16) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = trunc i64 %i.0 to i32 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %left, i32 noundef %conv) #13 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEixEi(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %right, i32 noundef %conv) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !4080 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3643 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300899EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300899EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE678_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2585 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300754EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4081 - store float 0x3FDB79EAC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4081 - store float 0x3FE0E49580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4081 - store float 0x3FE007A0A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4081 - store float 0x3FE3A9B820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4081 - store float 0x3FD256A340000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4081 - store float 0x3FCD75E500000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4081 - store float 0x3FD27D6DA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4081 - store float 0x3FC68615C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4081 - store float 0x3FD4F741E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4081 - store float 0x3FD395CF00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4081 - store float 0x3FE18EA480000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4081 - store float 0x3FE7570920000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4081 - store float 0x3FD4EB2060000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4081 - store float 0x3FE2E9F1A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4081 - store float 0x3FD7044FC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4081 - store float 0x3FC77EA0A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4081 - store float 0x3FDAC98420000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4081 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4081 - store float 0x3FC48E7140000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4081 - store float 0x3FE0E7AD80000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4081 - store float 0x3FEC766420000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4081 - store float 0x3FBDFE50A0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4081 - store float 0x3FDF2B44E0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4081 - store float 0x3FD1B31B80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4081 - store float 0x3FEBAE9A00000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4081 - store float 0x3FDC063C60000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4081 - store float 0x3FE27DB1C0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4081 - store float 0x3FDA513840000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4081 - store float 0x3FDCBE1F00000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4081 - store float 0x3FC5476820000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4081 - store float 0x3FD4E92920000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4081 - store float 0x3FE8F634E0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4081 - store float 0x3FDD777DA0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4081 - store float 0x3FE5967BC0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4081 - store float 0x3FD4F84E80000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4081 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4081 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4081 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4081 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4081 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !4081 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4081 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300484EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE395_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 54787585422701, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4084 - store i64 63519081118170, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4084 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1896 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15log1pENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4087 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !745 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301003EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE738_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE737_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4088 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(24) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm6EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a2) #2 comdat !srcloc !790 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp9 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp11 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp13 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call10, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp9, align 2, !tbaa !99 - %call12 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call12, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp11, align 2, !tbaa !99 - %call14 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a2.ascast, i64 noundef 16) #13 - %2 = load i16, ptr addrspace(4) %call14, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp13, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13fmaENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp9, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp13) #14 - %call15 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call15, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a2, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %4 = load i32, ptr %PartialRes, align 4 - store i32 %4, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4091 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300409EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4092 - store float 0x3FE3140120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4092 - store float 0x3FE3FB8A20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4092 - store float 0x3FEA186CE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4092 - store float 0x3FE7799480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4092 - store float 0x3FE21156E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4092 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4092 - store float 0x3FBC183040000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4092 - store float 0x3FDB868B80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4092 - store float 0x3FC40F0820000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4092 - store float 0x3FEBDA2B60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4092 - store float 0x3FE85CA120000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4092 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4092 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4092 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4092 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4092 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4092 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4092 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %t) #1 comdat !srcloc !1175 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <8 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t.ascast) #13 - ret <8 x half> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE782_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4095 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301057EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE792_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300006EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE5_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4098 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4098 - store float 0x3FE13F27E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4098 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4098 - store float 0x3FBC79CA20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4098 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4098 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4098 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4098 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4098 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4098 - call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4098 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4101 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4101 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4101 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEPU3AS1DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !4101 - %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS1DF16_(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !4101 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300872EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300872EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE655_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4104 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.52.6", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiEE6CreateERKiS8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp7 = alloca %"class.sycl::_V1::marray.2297", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp7.ascast = addrspacecast ptr %ref.tmp7 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp7) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiEE6CreateERKiS8_S8_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %ref.tmp7.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm4EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2344") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(16) %ref.tmp7.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp7) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300084EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE83_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !239 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4106 - %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_logDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <4 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv4_iNS0_3vecIiLi4EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 16 dereferenceable(16) %t) #1 comdat !srcloc !142 { -entry: - %call = tail call spir_func noundef <4 x i32> @_ZNK4sycl3_V13vecIiLi4EEcvDv4_iEv(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %t) #13 - ret <4 x i32> %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm5EE4sizeEv() #1 comdat align 2 !srcloc !325 { -entry: - ret i64 5 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2293 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4109 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !332 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4110 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_logbDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !783 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4113 - %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_expDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300173EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300173EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE172_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4116 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4117 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300598EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2422, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300598EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300730EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300730EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300222EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300222EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE221_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300243EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE242_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4118 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2407") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(48) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 7) #13 - %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 - %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 8) #13 - %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 - store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 - %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 9) #13 - %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 - store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 - %arrayinit.element20 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 11 - %call21 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 10) #13 - %13 = load i32, ptr addrspace(4) %call21, align 4, !tbaa !126 - store i32 %13, ptr addrspace(4) %arrayinit.element20, align 4, !tbaa !126 - %arrayinit.element22 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 12 - %call23 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm12EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(48) %A2, i64 noundef 11) #13 - %14 = load i32, ptr addrspace(4) %call23, align 4, !tbaa !126 - store i32 %14, ptr addrspace(4) %arrayinit.element22, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300114EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE113_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4121 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4121 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300519EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300519EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE430_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr addrspace(1) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2997 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4124 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4125 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4126 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300068EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300068EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE67_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301007EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE742_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4127 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4127 - store float 0x3FE89A77E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4127 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4127 - store float 0x3FE8A87D00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4127 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4127 - store float 0x3FDC7F4BC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4127 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4127 - store float 0x3FDF4365A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4127 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4127 - store float 0x3FE941FDE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4127 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4127 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4127 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4127 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4127 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4127 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4127 - call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4127 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm17EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4130 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300530EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE441_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4131 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE45_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 62187708299326, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4134 - call spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm6EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(12) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.151.22") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(12) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%union.anon) align 8 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr addrspace(1) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300632EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE499_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4137 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4137 - store float 0x3FE5FB4F40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4137 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4137 - store float 0x3FBA473880000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4137 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4137 - store float 0x3FE592B440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4137 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4137 - store float 0x3FD9A12C60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4137 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4137 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4137 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4137 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4137 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4137 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4137 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4137 - call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4137 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300122EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300122EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE121_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4140 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300760EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300760EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE583_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300888EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300888EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE667_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300804EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE627_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4141 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4141 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300863EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300863EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm4EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300177EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300177EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE176_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4144 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1155 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4145 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4145 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4145 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !4145 - %call7.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_minmagDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !937 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16atanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4148 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !2555 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4149 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_asinDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4152 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !3558 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4153 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4153 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_sinpiDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1129 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3275 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4156 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300086EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300086EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE85_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3878 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4157 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13erfENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4158 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301064EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE799_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH37EB, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4159 - call spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300582EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4162 - store float 0x3FDC612CE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4162 - store float 0x3FC8573940000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4162 - store float 0x3FC74ACAC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4162 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4162 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4162 - store i32 -7450, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4162 - store i32 -6487, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4162 - store i32 15507, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4162 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4162 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4162 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4162 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4162 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !4162 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4162 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4162 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4162 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJLm0ELm1ELm2ELm3EEEERKSt5arrayIS4_Lm4EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 2 dereferenceable(8) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %Arr, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %Arr, i64 noundef 1) #13 - %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element3 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 2 - %call4 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %Arr, i64 noundef 2) #13 - %3 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element3, align 2, !tbaa !99 - %arrayinit.element5 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 3 - %call6 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %Arr, i64 noundef 3) #13 - %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element5, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4165 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4167 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4167 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4167 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300240EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300240EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE239_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4168 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300398EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE365_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.1816.212, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4169 - store float 0x3FD76057C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4169 - store float 0x3FEC3D8F60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4169 - store float 0x3FE18B7840000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4169 - store float 0x3FEB5CA980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4169 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4169 - store float 0x3FBADF7DE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4169 - store float 0x3FE7FA6780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4169 - store float 0x3FE336A220000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4169 - store float 0x3FE91FBD60000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4169 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4169 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4169 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4169 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4169 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4169 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4169 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !4169 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !4169 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !4169 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !4169 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !4169 - store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !4169 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4169 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4172 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1846 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300769EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE592_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 55723691424492, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4173 - store i64 62638692578978, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4173 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4176 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4177 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4177 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_roundDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !376 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4180 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4180 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4180 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4180 - %call3.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_hypotDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300744EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE575_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1854.214, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4183 - store float 0x3FE34A1D20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4183 - store float 0x3FEB265000000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4183 - store float 0x3FE7DAEC00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4183 - store float 0x3FEA1B6F00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4183 - store float 0x3FD969B1C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4183 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4183 - store float 0x3FC6667340000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4183 - store float 0x3FCBB15F60000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4183 - store float 0x3FE3980300000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4183 - store float 0x3FE76B79A0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4183 - store float 0x3FDD03D8C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4183 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4183 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4183 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !4183 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4183 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !4183 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !4183 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4183 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300657EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE524_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - store half 0xH36B8, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4186 - store half 0xH3972, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4186 - store half 0xH393A, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !4186 - call spir_func void @_ZN4sycl3_V13madENS0_6detail9half_impl4halfES3_S3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm4EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm17EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300127EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE126_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4189 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4189 - store float 0x3FBEA17F20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4189 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4189 - store float 0x3FC1677C00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4189 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4189 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4189 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4189 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4189 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4189 - call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4189 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm1EE6_S_refERA1_Kim(ptr addrspace(4) noundef align 4 dereferenceable(4) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [1 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !3023 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14rintENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4192 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301033EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE768_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 54405303450034, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4193 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %left, ptr addrspace(4) noundef align 2 dereferenceable(4) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !4196 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300501EN4sycl3_V16marrayIiLm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE412_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.2297", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4197 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4197 - store float 0x3FE2CE0C40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4197 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4197 - store float 0x3FEA93F100000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4197 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4197 - store float 0x3FE55B7FC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4197 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4197 - store float 0x3FE508A140000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4197 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4197 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4197 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4197 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4197 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4197 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4197 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4197 - call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2297") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4197 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm4EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 4 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4200 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm17EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm2EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4201 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300918EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300918EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE697_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !156 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4202 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4203 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !621 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !1198 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4205 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4205 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !4205 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !4205 - %call3.i = tail call spir_func noundef <2 x half> @_Z19__spirv_ocl_atan2piDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300419EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !2696 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4208 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4208 - store half 0xH3287, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4208 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4208 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !4208 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4208 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi8EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 - %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 - %conv = fptrunc float %call to half - %splat.splatinsert = insertelement <8 x half> poison, half %conv, i64 0 - %splat.splat = shufflevector <8 x half> %splat.splatinsert, <8 x half> poison, <8 x i32> zeroinitializer - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - store <8 x half> %splat.splat, ptr addrspace(4) %this, align 16, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1049 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300255EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300255EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE254_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1006 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !424 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4211 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4211 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4211 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4211 - %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fmodDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300180EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE179_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4214 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300065EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300065EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE64_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2262 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4217 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4217 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4217 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3717 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp11 = alloca %"struct.std::array.2414", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp11.ascast = addrspacecast ptr %ref.tmp11 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp11) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2414") align 4 %ref.tmp11.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm6EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2413") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(24) %ref.tmp11.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp11) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4218 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300677EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE544_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4219 - store float 0x3FEAC92600000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4219 - store float 0x3FD7A030A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4219 - store float 0x3FE253C7A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4219 - store float 0x3FEC0D0000000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4219 - store float 0x3FEA8083E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4219 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4219 - store float 0x3FEB98FFC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4219 - store float 0x3FD841CAE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4219 - store float 0x3FD30FF8C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4219 - store float 0x3FE47F1740000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4219 - store float 0x3FD0A38F40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4219 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4219 - call spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4219 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4219 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !4222 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4223 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4223 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !4223 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !4223 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_hypotDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300021EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300021EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE20_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300575EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4226 - store float 0x3FD56316E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4226 - store float 0x3FD25A3E40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4226 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4226 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4226 - store i32 -18902, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !4226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4226 - store i32 3766, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4226 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4226 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4226 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4226 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4226 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4226 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4226 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4226 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4226 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4226 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 4, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3934 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300785EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300785EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE608_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300520EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300520EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE431_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15tanpiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4229 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4230 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4230 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_tanpiDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301004EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301004EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE739_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm17EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300969EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE724_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %result = alloca %struct.privatePtrCheck.1740.208, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4233 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4233 - store float 0x3FD0BD0A20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4233 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4233 - store float 0x3FD9144AA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4233 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4233 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4233 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4233 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4233 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4233 - store float 0x3FD9D51DA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4233 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4233 - store float 0x3FDC395820000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4233 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4233 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4233 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4233 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4233 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4233 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !4233 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4233 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4233 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4233 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !4233 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !4233 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !4233 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !4233 - %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !4233 - store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !4233 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !4233 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4233 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4233 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4233 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i32, ptr %resArg, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301046EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE781_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !1255 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4236 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4236 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4236 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !4236 - %call7.i = tail call spir_func noundef <3 x half> @_Z21__spirv_ocl_nextafterDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300731EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300731EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !332 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4239 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4239 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_logbDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301019EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301019EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE754_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300476EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE391_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2401.238, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4242 - store float 0x3FE8AA68C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4242 - store float 0x3FE6707460000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4242 - store float 0x3FE8069DA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4242 - store float 0x3FD7B4D8C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4242 - store float 0x3FE2CF5020000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4242 - store float 0x3FE3E9B640000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4242 - store float 0x3FC6F9C4A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4242 - store float 0x3FCE3986C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4242 - store float 0x3FE4666D80000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4242 - store float 0x3FE5A7D5C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4242 - store float 0x3FC0F504A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4242 - store float 0x3FDF3EC0A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4242 - store float 0x3FDEF59840000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4242 - store float 0x3FDC219D60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4242 - store float 0x3FE6BC7BA0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4242 - store float 0x3FEC0CBF60000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4242 - store float 0x3FC0013C80000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4242 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4242 - store i32 10141, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4242 - store i32 17335, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4242 - store i32 30920, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4242 - store i32 -1912, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4242 - store i32 -29743, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4242 - store i32 -6595, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4242 - store i32 11111, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4242 - store i32 -7302, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4242 - store i32 -12298, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4242 - store i32 5800, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4242 - store i32 -8952, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4242 - store i32 24501, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4242 - store i32 -18891, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4242 - store i32 820, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4242 - store i32 17505, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4242 - store i32 -4322, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4242 - store i32 -24535, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !4242 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4242 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4242 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4242 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4242 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !4242 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !4242 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4242 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm17EE4sizeEv() #1 comdat align 2 !srcloc !325 { -entry: - ret i64 17 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300473EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4245 - store float 0x3FD8A1B880000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4245 - store float 0x3FBB18F9A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4245 - store float 0x3FE4FC95A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4245 - store float 0x3FE8F78320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4245 - store float 0x3FBB932C60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4245 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4245 - store i32 -24986, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4245 - store i32 12393, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4245 - store i32 -11172, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4245 - store i32 21067, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4245 - store i32 -22507, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !4245 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4245 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4245 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4245 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4245 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4245 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4245 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIiEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3604 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4248 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300209EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE208_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH37BE, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4249 - call spir_func void @_ZN4sycl3_V13expENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1664 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %call) #13 - ret ptr addrspace(1) %call1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !2115 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4252 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_coshDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a2) #2 comdat !srcloc !1459 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - %2 = load i64, ptr %a2, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4255 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4255 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4255 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4255 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !69, !noalias !4255 - %call4.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp3.i) #13, !noalias !4255 - %call5.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_fmaDv4_DF16_S_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i, <4 x half> noundef %call4.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm16EE6_S_refERA16_Kim(ptr addrspace(4) noundef align 4 dereferenceable(64) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [16 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4258 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300854EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE649_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2260.232, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4259 - store float 0x3FDB4B48E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4259 - store float 0x3FEC75CB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4259 - store float 0x3FD8039F40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4259 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4259 - store float 0x3FEB5664C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4259 - store float 0x3FBA3E9F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4259 - store float 0x3FD3B49AE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4259 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4259 - store i32 -4509, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4259 - store i32 -23771, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4259 - store i32 14097, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4259 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4259 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4259 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4259 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4259 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !4259 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !4259 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4259 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm17EEEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300686EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE553_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4262 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4262 - store float 0x3FC5684480000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4262 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4262 - store float 0x3FE0CA9F20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4262 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4262 - store float 0x3FEB8A8460000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4262 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4262 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4262 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4262 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4262 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4262 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4262 - store float 0x3FD3E43440000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4262 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4262 - store float 0x3FC6CF1EC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4262 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4262 - store float 0x3FD9EE9DA0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4262 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4262 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4262 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4262 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4262 - call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4262 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4262 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300010EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE9_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4265 - store float 0x3FD29DFCA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4265 - store float 0x3FEBF81260000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4265 - store float 0x3FE7C2EAC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4265 - store float 0x3FDD5606E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4265 - store float 0x3FC509A380000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4265 - store float 0x3FD6C96B80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4265 - store float 0x3FE0340A20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4265 - store float 0x3FEB149EA0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4265 - store float 0x3FC7F7AFA0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4265 - store float 0x3FE14FFC20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4265 - store float 0x3FE549B880000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4265 - store float 0x3FE136E8A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4265 - store float 0x3FE80CE3E0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4265 - store float 0x3FE10800A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4265 - store float 0x3FEBDFD000000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4265 - store float 0x3FE2A43CC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4265 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4265 - store float 0x3FE23E3500000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4265 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4265 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4265 - call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4265 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301013EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301013EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE748_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0iPiEET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIiEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300461EE(ptr noundef byval(%"class.sycl::_V1::marray.2250") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2270, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 12, i1 false), !tbaa.struct !1142 - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300461EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE0_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !596 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4268 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4268 - %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_cosDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %this, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %this, ptr align 2 %res_t, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr addrspace(4) %this, i64 0, i32 1 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %resArg, ptr align 2 %resArg_t, i64 34, i1 false), !tbaa.struct !401 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !279 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301070EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301070EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE805_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300500EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300500EN4sycl3_V16marrayIiLm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE411_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !3312 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1771 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13logENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi4EEENS2_IiLi4EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2064") align 16 %a1) #2 comdat !srcloc !1202 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::vec.2064", align 16 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %agg.tmp1.sroa.0.0.copyload = load <4 x i32>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x i32> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4271 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4271 - %call2.i = tail call spir_func noundef <4 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi4EEEDv4_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2064") align 16 %agg.tmp13) #13, !noalias !4271 - %call3.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_rootnDv4_DF16_Dv4_i(<4 x half> noundef %call.i, <4 x i32> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1198 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !4274 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !4274 - %call3.i = tail call spir_func noundef <8 x half> @_Z19__spirv_ocl_atan2piDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300971EE(ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1748.209, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i32, ptr %_arg_arg, align 2, !tbaa !69 - store i32 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300971EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300289EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE288_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4277 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !4277 - store <4 x half> , ptr %agg.tmp3.i, align 8, !tbaa.struct !199, !noalias !4277 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [17 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1255 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4280 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4280 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4280 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4280 - %call3.i = tail call spir_func noundef <4 x half> @_Z21__spirv_ocl_nextafterDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4283 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4284 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4284 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_rsqrtDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300527EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE438_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 60340974270404, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4287 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301077EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301077EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE812_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.52.6", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300747EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4290 - store float 0x3FE1093A80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4290 - store float 0x3FE584DC00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4290 - store float 0x3FE3BCEC60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4290 - store float 0x3FD25A4040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4290 - store float 0x3FDB2BE700000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4290 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4290 - store float 0x3FE8D392C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4290 - store float 0x3FD2CA21A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4290 - store float 0x3FEB09B560000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4290 - store float 0x3FE7CF9680000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4290 - store float 0x3FE0423140000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4290 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4290 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4290 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4290 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4290 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4290 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4290 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm10EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(20) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"struct.std::array.143.18") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(20) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %0, ptr noundef byval(%"class.sycl::_V1::range") align 8 %1) #1 comdat align 2 !srcloc !693 { -entry: - %ref.tmp = alloca %class.anon.3, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(3) %Ptr, ptr addrspace(4) %MData, align 8, !tbaa !3113 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !337 - %AccessRange2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300128EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300128EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE127_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%union.anon) align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4293 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300759EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300759EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE582_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm4EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4294 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4295 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4295 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_tanhDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds i32, ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300682EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE549_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4298 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !4298 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !557 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4301 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4301 - %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_tanDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300211EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300211EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE210_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !252 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2072 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4304 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1507 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !4305 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !4305 - %call3.i = tail call spir_func noundef <8 x half> @_Z20__spirv_ocl_copysignDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300655EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300655EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE522_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !504 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm10EE6_S_refERA10_Kim(ptr addrspace(4) noundef align 4 dereferenceable(40) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [10 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2101 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300765EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE588_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4308 - store float 0x3FD114B0C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4308 - store float 0x3FE7B7FCE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4308 - store float 0x3FE3F22E00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4308 - store float 0x3FE290B200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4308 - store float 0x3FDAB6B460000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4308 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4308 - store float 0x3FCBBC87E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4308 - store float 0x3FD1AE2600000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4308 - store float 0x3FD07021C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4308 - store float 0x3FE76FCFE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4308 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4308 - store float 0x3FC2F71000000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4308 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4308 - call spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4308 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4308 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm1EE6_S_refERA1_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(2) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [1 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !3558 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4311 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4311 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_sinpiDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !230 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4314 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4314 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !4314 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !4314 - %call3.i = tail call spir_func noundef <2 x half> @_Z21__spirv_ocl_remainderDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300320EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE319_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 53825398323628, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4317 - store i64 61655157913405, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4317 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm2EEES8_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2409") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(40) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 7) #13 - %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 - %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 8) #13 - %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 - store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 - %arrayinit.element18 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 10 - %call19 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm10EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(40) %A2, i64 noundef 9) #13 - %12 = load i32, ptr addrspace(4) %call19, align 4, !tbaa !126 - store i32 %12, ptr addrspace(4) %arrayinit.element18, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300024EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300024EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE23_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1852 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4320 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4320 - %call2.i = tail call spir_func noundef <3 x half> @_Z15__spirv_ocl_sinDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !456 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4323 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300240EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE239_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4324 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4324 - store float 0x3FDD3D3F80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4324 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4324 - store float 0x3FDC63CC20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4324 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4324 - store float 0x3FD35D5D20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4324 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4324 - store float 0x3FDEB992E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4324 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4324 - store float 0x3FD2163E20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4324 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4324 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4324 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4324 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4324 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4324 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4324 - call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4324 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !843 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4327 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_truncDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300768EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300768EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE591_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(6) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !1345 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2410") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(36) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 7) #13 - %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 - %arrayinit.element16 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 9 - %call17 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %A2, i64 noundef 8) #13 - %11 = load i32, ptr addrspace(4) %call17, align 4, !tbaa !126 - store i32 %11, ptr addrspace(4) %arrayinit.element16, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15floorENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4330 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300298EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE297_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4331 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !4331 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300135EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE134_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4334 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300541EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300541EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3878 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300875EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp35.i = alloca i32, align 4 - %ref.tmp36.i = alloca i32, align 4 - %ref.tmp37.i = alloca i32, align 4 - %ref.tmp38.i = alloca i32, align 4 - %ref.tmp39.i = alloca i32, align 4 - %ref.tmp40.i = alloca i32, align 4 - %ref.tmp41.i = alloca i32, align 4 - %ref.tmp42.i = alloca i32, align 4 - %ref.tmp43.i = alloca i32, align 4 - %ref.tmp44.i = alloca i32, align 4 - %ref.tmp45.i = alloca i32, align 4 - %ref.tmp46.i = alloca i32, align 4 - %ref.tmp47.i = alloca i32, align 4 - %ref.tmp48.i = alloca i32, align 4 - %ref.tmp49.i = alloca i32, align 4 - %ref.tmp50.i = alloca i32, align 4 - %ref.tmp51.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp54.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp54.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) - %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) - %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) - %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) - %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) - %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) - %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) - %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) - %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) - %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) - %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) - %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) - %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) - %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) - %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) - %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) - %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4337 - store float 0x3FD0DF7E60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4337 - store float 0x3FDEC3D320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4337 - store float 0x3FD62CE220000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4337 - store float 0x3FD82A0CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4337 - store float 0x3FE33911A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4337 - store float 0x3FCC3A0920000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4337 - store float 0x3FD4567B00000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4337 - store float 0x3FE14A7840000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4337 - store float 0x3FCF7D0840000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4337 - store float 0x3FEB114EA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4337 - store float 0x3FEB005AE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4337 - store float 0x3FEC2E7220000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4337 - store float 0x3FC276BD80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4337 - store float 0x3FE498A5E0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4337 - store float 0x3FE99E0B60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4337 - store float 0x3FD6490680000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4337 - store float 0x3FE30E5440000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4337 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4337 - store float 0x3FE456BE00000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4337 - store float 0x3FCA084C40000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4337 - store float 0x3FE8514360000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4337 - store float 0x3FDACF39E0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4337 - store float 0x3FC4105600000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4337 - store float 0x3FEAD543E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4337 - store float 0x3FE3711DA0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4337 - store float 0x3FD4C1C600000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4337 - store float 0x3FE9D8F7C0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4337 - store float 0x3FD5AE9BC0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4337 - store float 0x3FE8B84880000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4337 - store float 0x3FE2D99780000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4337 - store float 0x3FD9F5AE80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4337 - store float 0x3FCF9F4A00000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4337 - store float 0x3FDE7D98E0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4337 - store float 0x3FE1DA1460000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4337 - store float 0x3FC5EE76A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4337 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4337 - store i32 -11659, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4337 - store i32 -14252, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4337 - store i32 24460, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4337 - store i32 20589, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4337 - store i32 -31891, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4337 - store i32 -31576, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4337 - store i32 4846, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4337 - store i32 11208, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4337 - store i32 8590, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4337 - store i32 8583, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4337 - store i32 -20693, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4337 - store i32 -517, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4337 - store i32 1243, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4337 - store i32 13008, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4337 - store i32 661, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4337 - store i32 -11895, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4337 - store i32 -10630, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !4337 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4337 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4337 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4337 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4337 - store i64 %0, ptr %agg.tmp54.i, align 8, !tbaa !128, !noalias !4337 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp54.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4337 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp54.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4340 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !774 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4341 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4341 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_acosDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1532 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14sqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4344 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300165EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE164_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH397F, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4345 - call spir_func void @_ZN4sycl3_V14coshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm3EEES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !114 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300318EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300318EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE317_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS2_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIiLNS2_13address_spaceE1EXT_EEEPiE4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iS4_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301039EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE774_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4348 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4348 - store float 0x3FE04514A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4348 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4348 - store float 0x3FD4A28F80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4348 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4348 - store float 0x3FCC23FDA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4348 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4348 - store float 0x3FD56C6D60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4348 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4348 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4348 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4348 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4348 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4348 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4348 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4348 - call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4348 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300930EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300930EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE709_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4351 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300000EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3A34, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4352 - call spir_func void @_ZN4sycl3_V14acosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300903EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300903EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE682_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !2523 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !1099 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !4355 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !4355 - %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fmaxDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300085EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE84_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300153EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE152_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4358 - store float 0x3FE2CEDBA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4358 - store float 0x3FC6149760000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4358 - store float 0x3FBFC58200000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4358 - store float 0x3FBBD8B7A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4358 - store float 0x3FD33A83C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4358 - store float 0x3FE6B75A40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4358 - store float 0x3FDA31F8C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4358 - store float 0x3FE70D2AE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4358 - store float 0x3FE3376920000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4358 - store float 0x3FDA5488A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4358 - store float 0x3FE9BB5440000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4358 - store float 0x3FC0BBE280000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4358 - store float 0x3FDE3959C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4358 - store float 0x3FE871B860000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4358 - store float 0x3FC9C923A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4358 - store float 0x3FE5637380000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4358 - store float 0x3FD7331480000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4358 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4358 - store float 0x3FBE93AFE0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4358 - store float 0x3FDEA79B80000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4358 - store float 0x3FE08E2A60000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4358 - store float 0x3FC10EF560000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4358 - store float 0x3FE1B00260000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4358 - store float 0x3FD83048E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4358 - store float 0x3FBA852C60000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4358 - store float 0x3FD02AE7A0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4358 - store float 0x3FC825A2A0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4358 - store float 0x3FE10A3860000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4358 - store float 0x3FC1372B60000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4358 - store float 0x3FEAF5CF40000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4358 - store float 0x3FE8D565E0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4358 - store float 0x3FEB664D80000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4358 - store float 0x3FD6848F60000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4358 - store float 0x3FEA5FF5E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4358 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4358 - store float 0x3FEC65FD60000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4358 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4358 - call spir_func void @_ZN4sycl3_V18copysignINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4358 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4358 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !168 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4361 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4361 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4361 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4361 - %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fminDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300597EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300597EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE468_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef nonnull align 4 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4364 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14exp2ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300170EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300170EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE169_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv23InitSizesSTGlobalOffsetILi1EN4sycl3_V12idILi1EEEE8initSizeEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !4365 { -entry: - %call = tail call spir_func noundef i64 @_ZN7__spirvL15getGlobalOffsetILi0EEEmv() #13 - tail call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300805EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE628_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4366 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4366 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300807EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE630_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4369 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4369 - store float 0x3FC70FDB00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4369 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4369 - store float 0x3FDC943200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4369 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4369 - store float 0x3FD10C63C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4369 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4369 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4369 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4369 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4369 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4369 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4369 - store float 0x3FD9F668A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4369 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4369 - store float 0x3FC04F9F60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4369 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4369 - store float 0x3FE8E35C60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4369 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4369 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4369 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4369 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4369 - call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4369 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4369 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4104 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4372 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4373 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4374 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300112EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE111_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 51235526750290, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4375 - store i64 63592137963773, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4375 - call spir_func void @_ZN4sycl3_V17atan2piINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !536 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::vec.2", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300212EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE211_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4378 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300586EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4381 - store float 0x3FE6AAB8A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4381 - store float 0x3FE034DBE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4381 - store float 0x3FCD33EAE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4381 - store float 0x3FC46F6E40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4381 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4381 - store i32 32619, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4381 - store i32 14738, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4381 - store i32 29085, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4381 - store i32 21912, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4381 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4381 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4381 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4381 - %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4381 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !4381 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4381 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !4381 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4381 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEC2EPU3AS3S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !4384 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4386 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !243 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4387 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4387 - %call1.i = tail call spir_func noundef <2 x half> @_Z15__spirv_ocl_erfDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !927 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4390 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4390 - %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_asinpiDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log1pINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !208 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4393 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_log1pDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300344EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE343_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4396 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4396 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !1327 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300757EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE580_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4399 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !4399 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300533EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE444_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4402 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4402 - store float 0x3FE496EB60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4402 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4402 - store float 0x3FEB0ACB40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4402 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4402 - store float 0x3FD7924C80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4402 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4402 - store float 0x3FC3B93CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4402 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4402 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4402 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4402 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4402 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4402 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4402 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4402 - call spir_func void @_ZN4sycl3_V16lgammaINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4402 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !701 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300163EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300163EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE162_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300538EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !1191 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - store i32 %1, ptr addrspace(4) %call, align 4, !tbaa !126 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4405 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4405 - store half 0xH39DD, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4405 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4405 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !4405 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4405 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEixILi1EvEERim(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERiNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - store i32 %4, ptr addrspace(4) %call8, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300812EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300812EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE635_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !975 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4408 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.2411") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(32) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - %arrayinit.element4 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 2) #13 - %5 = load i32, ptr addrspace(4) %call5, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element4, align 4, !tbaa !126 - %arrayinit.element6 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 3) #13 - %6 = load i32, ptr addrspace(4) %call7, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element6, align 4, !tbaa !126 - %arrayinit.element8 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 4) #13 - %7 = load i32, ptr addrspace(4) %call9, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element8, align 4, !tbaa !126 - %arrayinit.element10 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 5) #13 - %8 = load i32, ptr addrspace(4) %call11, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element10, align 4, !tbaa !126 - %arrayinit.element12 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 6) #13 - %9 = load i32, ptr addrspace(4) %call13, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element12, align 4, !tbaa !126 - %arrayinit.element14 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm8EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %A2, i64 noundef 7) #13 - %10 = load i32, ptr addrspace(4) %call15, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element14, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300405EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300405EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE368_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300792EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300792EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE615_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300869EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm5EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %ref.tmp13.i = alloca i32, align 4 - %ref.tmp14.i = alloca i32, align 4 - %ref.tmp15.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp18.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp18.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4409 - store float 0x3FE92F83A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4409 - store float 0x3FC64FF440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4409 - store float 0x3FEC113A20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4409 - store float 0x3FE0FD6CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4409 - store float 0x3FBCC0E500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4409 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4409 - store float 0x3FC47D70A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4409 - store float 0x3FECBC8360000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4409 - store float 0x3FC29EF540000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4409 - store float 0x3FE38B6400000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4409 - store float 0x3FC08B0600000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4409 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4409 - store i32 21312, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4409 - store i32 2229, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4409 - store i32 -28754, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4409 - store i32 29002, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4409 - store i32 -2692, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !4409 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4409 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4409 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4409 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4409 - store i64 %0, ptr %agg.tmp18.i, align 8, !tbaa !128, !noalias !4409 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp18.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4409 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp18.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301075EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE810_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3709, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4412 - call spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300856EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4415 - store float 0x3FC8B91DE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4415 - store float 0x3FBC8DE720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4415 - store float 0x3FEBC53AA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4415 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4415 - store float 0x3FDBB68520000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4415 - store float 0x3FD12CE200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4415 - store float 0x3FE7DB8320000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4415 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4415 - store i32 14376, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4415 - store i32 9381, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4415 - store i32 25260, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4415 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4415 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4415 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4415 - %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4415 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4415 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4415 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301000EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE735_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 53352928391062, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4418 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !77 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4421 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %left, ptr addrspace(4) noundef align 4 dereferenceable(4) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = trunc i64 %i.0 to i32 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %left, i32 noundef %conv) #13 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEixEi(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %right, i32 noundef %conv) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !4422 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3DF16_PU3AS3NS1_9half_impl4halfEEET_T0_(ptr addrspace(3) noundef %call) #13 - ret ptr addrspace(3) %call1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300178EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300178EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE177_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3722 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4423 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4423 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4423 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300669EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300669EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE536_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300797EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300797EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE620_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300937EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300937EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS4_Li1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300881EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300881EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE660_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300680EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE547_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4424 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !4424 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4427 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm3EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm3EE6_S_refERA3_Kim(ptr addrspace(4) noundef align 4 dereferenceable(12) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4428 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm2EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300398EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300398EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE365_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V17nd_itemILi1EEC2ERKNS0_4itemILi1ELb1EEERKNS3_ILi1ELb0EEERKNS0_5groupILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this, ptr addrspace(4) noundef align 8 dereferenceable(24) %GL, ptr addrspace(4) noundef align 8 dereferenceable(16) %L, ptr addrspace(4) noundef align 8 dereferenceable(32) %GR) #4 comdat align 2 !srcloc !4429 { -entry: - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(24) %this, ptr addrspace(4) noundef align 8 dereferenceable(24) %GL, i64 24, i1 false) - %localItem = getelementptr inbounds %"class.sycl::_V1::nd_item", ptr addrspace(4) %this, i64 0, i32 1 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(16) %localItem, ptr addrspace(4) noundef align 8 dereferenceable(16) %L, i64 16, i1 false) - %Group = getelementptr inbounds %"class.sycl::_V1::nd_item", ptr addrspace(4) %this, i64 0, i32 2 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 8 dereferenceable(32) %Group, ptr addrspace(4) noundef align 8 dereferenceable(32) %GR, i64 32, i1 false) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !230 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !4430 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !4430 - %call3.i = tail call spir_func noundef <8 x half> @_Z21__spirv_ocl_remainderDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !548 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4433 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4433 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_rintDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !465 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15truncENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4436 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4437 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300579EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE462_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2260.232, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4438 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4438 - store float 0x3FC2039860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4438 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4438 - store float 0x3FE29A0220000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4438 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4438 - store float 0x3FD815DAC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4438 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4438 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4438 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4438 - store i32 2431, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4438 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4438 - store i32 9149, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4438 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4438 - store i32 -28726, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4438 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4438 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4438 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4438 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4438 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4438 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !4438 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !4438 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4438 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300776EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300776EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE599_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300031EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300031EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE30_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300611EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300611EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE478_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301010EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301010EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE745_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300182EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300182EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE181_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300613EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300613EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE480_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayINS1_9half_impl4halfELm3EEES8_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE0_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4441 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !3558 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4444 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_sinpiDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4447 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300810EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE633_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4448 - store float 0x3FE463EF20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4448 - store float 0x3FD8CCFF80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4448 - store float 0x3FBC1A6F60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4448 - store float 0x3FBF5451E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4448 - store float 0x3FE2AFFA40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4448 - store float 0x3FD4252C60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4448 - store float 0x3FD4DFCB20000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4448 - store float 0x3FE8CA96C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4448 - store float 0x3FE3F9B6E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4448 - store float 0x3FDD33DC80000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4448 - store float 0x3FDAD5B140000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4448 - store float 0x3FD5CA00A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4448 - store float 0x3FE9B92900000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4448 - store float 0x3FBE21E500000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4448 - store float 0x3FE7B193A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4448 - store float 0x3FD92C3980000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4448 - store float 0x3FCF4E4F60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4448 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4448 - store float 0x3FD78BEC20000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4448 - store float 0x3FD8990340000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4448 - store float 0x3FE141C7A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4448 - store float 0x3FDC95E700000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4448 - store float 0x3FE69C94A0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4448 - store float 0x3FE717F140000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4448 - store float 0x3FEAEB42A0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4448 - store float 0x3FE704BC40000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4448 - store float 0x3FD585DAA0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4448 - store float 0x3FD0279140000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4448 - store float 0x3FE19A77C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4448 - store float 0x3FCE895480000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4448 - store float 0x3FDBD05040000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4448 - store float 0x3FBD146420000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4448 - store float 0x3FE3C001A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4448 - store float 0x3FDE9BA580000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4448 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4448 - store float 0x3FD2E08DE0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4448 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4448 - call spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4448 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4448 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300322EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE321_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4451 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4451 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !247 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !906 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300919EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE698_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4454 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4454 - store float 0x3FE6C860E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4454 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4454 - store float 0x3FE899C8E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4454 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4454 - store float 0x3FE4D257C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4454 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4454 - store float 0x3FE4217D00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4454 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4454 - store float 0x3FC23F55A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4454 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4454 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4454 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4454 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4454 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4454 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4454 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4454 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301056EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE791_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4457 - call spir_func void @_ZN4sycl3_V15tanpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300309EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300309EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE308_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !280 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4460 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4460 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_ceilDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !346 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fminENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4463 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp3 = alloca %"class.sycl::_V1::marray.7", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp3.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300025EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE24_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !663 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4464 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4464 - %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_tgammaDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300033EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE32_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH36C0, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4467 - call spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301025EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301025EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE760_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2405 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4470 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4471 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4470 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300285EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300285EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE284_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300101EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300101EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE100_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300492EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300492EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE403_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300410EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE369_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1892.216, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4472 - store float 0x3FE8A28260000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4472 - store float 0x3FE27B8DE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4472 - store float 0x3FE8262140000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4472 - store float 0x3FBB55E880000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4472 - store float 0x3FD25A63A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4472 - store float 0x3FDC730A40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4472 - store float 0x3FDE3591C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4472 - store float 0x3FE80191A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4472 - store float 0x3FCEC58CE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4472 - store float 0x3FE1DDB4C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4472 - store float 0x3FE0F88E20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4472 - store float 0x3FE3C936A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4472 - store float 0x3FBC677100000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4472 - store float 0x3FC1472B60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4472 - store float 0x3FC61B7F80000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4472 - store float 0x3FDA8AB2C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4472 - store float 0x3FE2809FE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4472 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4472 - store float 0x3FE5FD9640000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4472 - store float 0x3FE3DCFD80000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4472 - store float 0x3FC7CF29A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4472 - store float 0x3FE95D7B80000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4472 - store float 0x3FDA994B80000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4472 - store float 0x3FE81949C0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4472 - store float 0x3FCE53A480000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4472 - store float 0x3FD9DEF5A0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4472 - store float 0x3FE45CF6E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4472 - store float 0x3FE3548B40000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4472 - store float 0x3FE07B2540000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4472 - store float 0x3FEAD514C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4472 - store float 0x3FE7F9D4E0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4472 - store float 0x3FE2742E00000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4472 - store float 0x3FE48C58E0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4472 - store float 0x3FDBA87FE0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4472 - store float 0x3FE0548DA0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4472 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4472 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4472 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4472 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4472 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !4472 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !4472 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(68) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4472 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1892.216, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15groupILi1EEC2ERKNS0_5rangeILi1EEES6_S4_RKNS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(4) noundef align 8 dereferenceable(8) %G, ptr addrspace(4) noundef align 8 dereferenceable(8) %L, ptr noundef byval(%"class.sycl::_V1::range") align 8 %GroupRange, ptr addrspace(4) noundef align 8 dereferenceable(8) %I) #4 comdat align 2 !srcloc !4475 { -entry: - %0 = load i64, ptr addrspace(4) %G, align 8 - store i64 %0, ptr addrspace(4) %this, align 8 - %localRange = getelementptr inbounds %"class.sycl::_V1::group", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load i64, ptr addrspace(4) %L, align 8 - store i64 %1, ptr addrspace(4) %localRange, align 8 - %groupRange = getelementptr inbounds %"class.sycl::_V1::group", ptr addrspace(4) %this, i64 0, i32 2 - %2 = load i64, ptr %GroupRange, align 8 - store i64 %2, ptr addrspace(4) %groupRange, align 8 - %index = getelementptr inbounds %"class.sycl::_V1::group", ptr addrspace(4) %this, i64 0, i32 3 - %3 = load i64, ptr addrspace(4) %I, align 8 - store i64 %3, ptr addrspace(4) %index, align 8 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4476 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300280EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE279_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4477 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3592 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300241EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300241EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE240_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3417 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4480 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4481 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4482 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300399EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE366_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp11.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.1816.212, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4483 - store float 0x3FE6018EA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4483 - store float 0x3FECCBE700000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4483 - store float 0x3FD7B14DC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4483 - store float 0x3FE63F0B60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4483 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4483 - store float 0x3FE8D27EC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4483 - store float 0x3FE4F2B420000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4483 - store float 0x3FE774D920000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4483 - store float 0x3FE82BAA20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4483 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4483 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4483 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4483 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4483 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4483 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4483 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !4483 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp9.i) #14, !noalias !4483 - %2 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !4483 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !69, !noalias !4483 - %3 = load i64, ptr %multiPtrSourceData.i, align 8, !tbaa !69, !noalias !4483 - store i64 %3, ptr %agg.tmp11.i, align 8, !tbaa !69, !noalias !4483 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp10.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp11.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4483 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1816.212, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i64, ptr %resArg, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300620EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300620EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE487_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4203 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4486 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4487 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4486 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300786EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE609_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4488 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4488 - store float 0x3FEA8F4740000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4488 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4488 - store float 0x3FCCA47580000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4488 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4488 - store float 0x3FE79ADC00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4488 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4488 - store float 0x3FE3DCED20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4488 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4488 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !4488 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4488 - store i32 -16828, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4488 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4488 - store i32 -22668, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4488 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4488 - store i32 17077, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4488 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4488 - store i32 7114, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4488 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4488 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4488 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4488 - call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %inputData_1.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4488 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300484EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300484EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE395_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300751EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300751EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE578_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300622EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE489_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4491 - store float 0x3FC9C5E260000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4491 - store float 0x3FD2CAE240000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4491 - store float 0x3FE2DEA820000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4491 - store float 0x3FD0DE7C40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4491 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4491 - store float 0x3FEC229BE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4491 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4491 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4491 - call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4491 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4494 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4494 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4494 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !4494 - %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !4494 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4497 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300294EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300294EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE293_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !2316 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2202", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300799EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300799EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE622_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301065EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301065EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE800_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE2_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4498 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm2EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300274EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE273_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4501 - store float 0x3FD305C3C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4501 - store float 0x3FD4D29400000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4501 - store float 0x3FDB188C80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4501 - store float 0x3FDE803CE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4501 - store float 0x3FEB2E8A20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4501 - store float 0x3FC2C68B00000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4501 - store float 0x3FE55ACFE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4501 - store float 0x3FE910AB80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4501 - store float 0x3FD8B19A00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4501 - store float 0x3FD328F080000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4501 - store float 0x3FD1BB2280000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4501 - store float 0x3FD5CD8F20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4501 - store float 0x3FCBADB320000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4501 - store float 0x3FE152AD40000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4501 - store float 0x3FD3386FC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4501 - store float 0x3FBF2E5D80000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4501 - store float 0x3FD24F92A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4501 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4501 - store float 0x3FE8354B60000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4501 - store float 0x3FDBC4F480000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4501 - store float 0x3FE9D18B00000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4501 - store float 0x3FEB5B4780000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4501 - store float 0x3FD2DC03E0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4501 - store float 0x3FE1890920000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4501 - store float 0x3FE9C15C20000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4501 - store float 0x3FE21598A0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4501 - store float 0x3FCE00D3A0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4501 - store float 0x3FD3185F80000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4501 - store float 0x3FEC7BB2C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4501 - store float 0x3FD5BA8600000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4501 - store float 0x3FE969C740000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4501 - store float 0x3FE78D64A0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4501 - store float 0x3FE631DF00000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4501 - store float 0x3FE5AE8560000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4501 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4501 - store float 0x3FE76C6CE0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4501 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4501 - call spir_func void @_ZN4sycl3_V14fdimINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4501 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4501 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300885EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300885EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE664_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4504 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4504 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4504 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE0EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !4504 - %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS3i(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !4504 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14exp2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1225 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4507 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4507 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_exp2Dv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300599EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2422, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300599EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301023EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE758_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE4sizeEv() #1 comdat align 2 !srcloc !458 { -entry: - ret i64 5 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300413EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1900.217, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300413EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300872EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE655_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp35.i = alloca i32, align 4 - %ref.tmp36.i = alloca i32, align 4 - %ref.tmp37.i = alloca i32, align 4 - %ref.tmp38.i = alloca i32, align 4 - %ref.tmp39.i = alloca i32, align 4 - %ref.tmp40.i = alloca i32, align 4 - %ref.tmp41.i = alloca i32, align 4 - %ref.tmp42.i = alloca i32, align 4 - %ref.tmp43.i = alloca i32, align 4 - %ref.tmp44.i = alloca i32, align 4 - %ref.tmp45.i = alloca i32, align 4 - %ref.tmp46.i = alloca i32, align 4 - %ref.tmp47.i = alloca i32, align 4 - %ref.tmp48.i = alloca i32, align 4 - %ref.tmp49.i = alloca i32, align 4 - %ref.tmp50.i = alloca i32, align 4 - %ref.tmp51.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp53.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2401.238, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp53.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) - %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) - %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) - %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) - %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) - %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) - %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) - %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) - %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) - %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) - %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) - %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) - %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) - %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) - %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) - %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) - %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4510 - store float 0x3FE48A5620000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4510 - store float 0x3FE5455B40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4510 - store float 0x3FE6118BE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4510 - store float 0x3FE3A80620000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4510 - store float 0x3FCCDA8880000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4510 - store float 0x3FE3C64F20000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4510 - store float 0x3FBFCB85C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4510 - store float 0x3FCDFFA960000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4510 - store float 0x3FEC5F4A20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4510 - store float 0x3FE6F92C20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4510 - store float 0x3FBFBED080000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4510 - store float 0x3FE05DF340000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4510 - store float 0x3FDB4F92A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4510 - store float 0x3FCE2B2060000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4510 - store float 0x3FDA7517A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4510 - store float 0x3FEADDFB00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4510 - store float 0x3FC87309C0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4510 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4510 - store float 0x3FEBFB7060000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4510 - store float 0x3FE3ED5180000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4510 - store float 0x3FD3D52FC0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4510 - store float 0x3FE4B173E0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4510 - store float 0x3FEBBA84C0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4510 - store float 0x3FEA759F40000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4510 - store float 0x3FEB575BC0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4510 - store float 0x3FE8F57880000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4510 - store float 0x3FEA04D7E0000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4510 - store float 0x3FDFFFC9A0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4510 - store float 0x3FE9777840000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4510 - store float 0x3FE5A427C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4510 - store float 0x3FCEFEAA80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4510 - store float 0x3FD0C59A20000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4510 - store float 0x3FD5760920000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4510 - store float 0x3FE9F007E0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4510 - store float 0x3FEA0482C0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4510 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4510 - store i32 -6819, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4510 - store i32 -29287, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4510 - store i32 -24323, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4510 - store i32 28192, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4510 - store i32 15020, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4510 - store i32 -5196, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4510 - store i32 19306, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4510 - store i32 24308, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4510 - store i32 -28560, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4510 - store i32 -20630, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4510 - store i32 16138, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4510 - store i32 -6253, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4510 - store i32 -4656, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4510 - store i32 16068, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4510 - store i32 28478, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4510 - store i32 -3564, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4510 - store i32 31796, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !4510 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4510 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4510 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4510 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4510 - store i64 %0, ptr %agg.tmp53.i, align 8, !tbaa !128, !noalias !4510 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp53.i) #14, !noalias !4510 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4510 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp53.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300232EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300232EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE231_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !716 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4513 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_atanDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300527EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300527EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE438_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !911 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4516 - %call1.i = tail call spir_func noundef <16 x half> @_Z18__spirv_ocl_lgammaDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300601EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300601EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301011EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301011EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE746_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15rsqrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4519 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300514EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300514EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE425_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !685 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4520 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4520 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4520 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4520 - %call3.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_fdimDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301081EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301081EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE816_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm5EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr %ImmArray, align 2, !tbaa !69 - store i16 %0, ptr addrspace(4) %agg.result, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300197EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE196_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4523 - store float 0x3FE82A7C00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4523 - store float 0x3FD8AD54C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4523 - store float 0x3FE9C6A2E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4523 - store float 0x3FE609DA20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4523 - store float 0x3FE58A8200000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4523 - store float 0x3FD78F9180000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4523 - store float 0x3FC8EE9DC0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4523 - store float 0x3FEBD8F1A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4523 - store float 0x3FE913F9E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4523 - store float 0x3FDB5583C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4523 - store float 0x3FE94C6300000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4523 - store float 0x3FEA384F20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4523 - store float 0x3FD7EF4540000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4523 - store float 0x3FE00A3BC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4523 - store float 0x3FD7633C60000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4523 - store float 0x3FE4FEFC00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4523 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4523 - store float 0x3FEA8D2E00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4523 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4523 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4523 - call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4523 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !1507 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !4526 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !4526 - %call3.i = tail call spir_func noundef <16 x half> @_Z20__spirv_ocl_copysignDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301065EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE800_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4529 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1651 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !322 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %this, i64 noundef %index) #1 comdat align 2 !srcloc !413 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [4 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300265EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE264_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4532 - store <2 x half> , ptr %agg.tmp2.i, align 4, !tbaa.struct !90, !noalias !4532 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE775_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4535 - store float 0x3FE64103A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4535 - store float 0x3FBB64CB60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4535 - store float 0x3FCADA4440000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4535 - store float 0x3FE1A6ACC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4535 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4535 - store float 0x3FD1180800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4535 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4535 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4535 - call spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4535 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300308EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE307_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4538 - store half 0xH2F6F, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4538 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !443 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.1972", align 8 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2Ev(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - %call5 = call spir_func noundef i32 @_ZN4sycl3_V15ilogbENS0_6detail9half_impl4halfE(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call6 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %agg.result, i64 noundef 16) #13 - store i32 %call5, ptr addrspace(4) %call6, align 4, !tbaa !126 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15ilogbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_15change_elementsIiNS3_19simplify_if_swizzleIS8_E4typeEE4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %agg.result, i64 noundef %mul) #13 - %1 = load i64, ptr %PartialRes, align 8 - store i64 %1, ptr addrspace(4) %call, align 4 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4541 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300476EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300476EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE391_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #4 comdat align 2 !srcloc !1947 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::marray.2202", align 4 - %agg.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm2EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJLm0ELm1EEEERKSt5arrayIiLm2EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp.ascast, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300249EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300249EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE248_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3DF16_PU3AS3NS1_9half_impl4halfEEET_T0_(ptr addrspace(3) noundef %from) #1 comdat !srcloc !141 { -entry: - ret ptr addrspace(3) %from -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3717 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300071EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE70_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4542 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300303EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE302_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4545 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4545 - store float 0x3FEB52A800000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4545 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4545 - store float 0x3FD29819A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4545 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4545 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4545 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4545 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4545 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4545 - store float 0x3FD7B11480000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4545 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4545 - store float 0x3FE3688BA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4545 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4545 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4545 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4545 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4545 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4545 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !4545 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4545 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4545 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4545 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !239 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4548 - %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_logDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiEC2ES4_i(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %res_t, i32 noundef %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - %0 = load i16, ptr %res_t, align 2, !tbaa !99 - store i16 %0, ptr addrspace(4) %this, align 4, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1936.218, ptr addrspace(4) %this, i64 0, i32 1 - store i32 %resArg_t, ptr addrspace(4) %resArg, align 4, !tbaa !1180 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300659EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE526_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i64 57381648478193, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4551 - store i64 62604253279295, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !4551 - store i64 61925710117007, ptr %agg.tmp3.i, align 8, !tbaa !69, !noalias !4551 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4554 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4555 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4555 - %call1.i = tail call spir_func noundef half @_Z15__spirv_ocl_tanDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300411EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300411EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE370_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300393EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300393EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE364_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300691EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE558_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.195, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4558 - store i16 14565, ptr %multiPtrSourceData.i, align 2, !noalias !4558 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4558 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4558 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !4558 - store half 0xH38C8, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4558 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4558 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !4558 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !4558 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !4558 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !4558 - %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !4558 - store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !4558 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !4558 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4558 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4558 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %4 = load i16, ptr %resArg, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300400EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.91.10", align 2 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4561 - store float 0x3FD450BD00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4561 - store float 0x3FD4E6CA60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4561 - store float 0x3FDB1BF500000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4561 - store float 0x3FBE7810A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4561 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4561 - store float 0x3FEA5E8940000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4561 - store float 0x3FE7F6A060000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4561 - store float 0x3FCA4C8420000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4561 - store float 0x3FE8280C20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4561 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4561 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4561 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4561 - %2 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4561 - store i64 %2, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !4561 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4561 - store i64 %3, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !4561 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm7EE6_S_refERA7_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(14) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [7 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15exp10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !1703 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4564 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4564 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_exp10Dv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300786EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300786EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE609_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300146EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE145_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4567 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !4567 - call spir_func void @_ZN4sycl3_V18copysignINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %this, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %Arg0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %Arg1) #4 comdat align 2 !srcloc !4570 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp2.ascast = addrspacecast ptr %ref.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr %Arg0, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 - %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 - %conv = fptrunc float %call to half - %vecinit = insertelement <2 x half> undef, half %conv, i64 0 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp2) #13 - %1 = load i16, ptr %Arg1, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #13 - %call4 = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp2.ascast) #13 - %conv5 = fptrunc float %call4 to half - %vecinit6 = insertelement <2 x half> %vecinit, half %conv5, i64 1 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp2) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - store <2 x half> %vecinit6, ptr addrspace(4) %this, align 4, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300511EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE422_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4571 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4571 - store float 0x3FE52CB320000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4571 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4571 - store float 0x3FEAD32040000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4571 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4571 - store float 0x3FDB6608C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4571 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4571 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4571 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4571 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4571 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !4571 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4571 - store i32 25503, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4571 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4571 - store i32 12066, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4571 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4571 - store i32 -20366, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4571 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4571 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4571 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4571 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4571 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !4571 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4571 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300016EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300016EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE15_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300033EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300033EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE32_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !792 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !485 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !529 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300633EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE500_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4574 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4574 - store float 0x3FE810C500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4574 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4574 - store float 0x3FE9DCB100000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4574 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4574 - store float 0x3FDFEBADA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4574 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4574 - store float 0x3FDEF75720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4574 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4574 - store float 0x3FD9245940000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4574 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4574 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4574 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4574 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4574 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4574 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4574 - call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4574 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3817 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4577 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4578 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4577 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300799EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE622_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4579 - store float 0x3FE60A2960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4579 - store float 0x3FEA3BD860000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4579 - store float 0x3FE07AD1C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4579 - store float 0x3FE99627E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4579 - store float 0x3FCB71F800000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4579 - store float 0x3FE81C7500000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4579 - store float 0x3FCF50A1C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4579 - store float 0x3FE782F160000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4579 - store float 0x3FE4FAA020000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4579 - store float 0x3FD69E03C0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4579 - store float 0x3FDFE7D160000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4579 - store float 0x3FE1281660000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4579 - store float 0x3FEB792780000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4579 - store float 0x3FE008C560000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4579 - store float 0x3FE50A08A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4579 - store float 0x3FD0483C40000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4579 - store float 0x3FD1000940000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4579 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4579 - store float 0x3FD1156E20000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4579 - store float 0x3FE907D020000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4579 - store float 0x3FEB316AC0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4579 - store float 0x3FBA0EA8E0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4579 - store float 0x3FC67822E0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4579 - store float 0x3FDC80A2E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4579 - store float 0x3FE233AA40000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4579 - store float 0x3FE05E6D00000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4579 - store float 0x3FE4BC7200000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4579 - store float 0x3FEC0B24C0000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4579 - store float 0x3FBDF11940000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4579 - store float 0x3FE6FB1E00000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4579 - store float 0x3FE6C99D20000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4579 - store float 0x3FE53E6CC0000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4579 - store float 0x3FD3C891A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4579 - store float 0x3FC7D53080000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4579 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4579 - store float 0x3FE55B48E0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4579 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4579 - call spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4579 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4579 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301071EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301071EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE806_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300107EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE106_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4582 - store float 0x3FDA5821C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4582 - store float 0x3FD1AC1320000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4582 - store float 0x3FD071F680000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4582 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4582 - store float 0x3FEB43CFA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4582 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4582 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4582 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4582 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4582 - call spir_func void @_ZN4sycl3_V16atanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4582 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4585 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301005EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301005EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE740_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300127EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300127EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE126_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300057EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300057EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE56_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300104EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE103_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4587 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4590 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4590 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4590 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !4590 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS0i(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !4590 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EEC2EPU3AS0S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !1980 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1721 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4593 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4594 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4593 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300932EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300932EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE711_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !1708 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - %0 = load i16, ptr %a1, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp2, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301046EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE781_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4595 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300900EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE679_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4598 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301018EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE753_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4601 - store float 0x3FEB838240000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4601 - store float 0x3FD0369440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4601 - store float 0x3FD41B15E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4601 - store float 0x3FC6D86D80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4601 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4601 - store float 0x3FE69D2500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4601 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4601 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4601 - call spir_func void @_ZN4sycl3_V15sinpiINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4601 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !1388 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4604 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4604 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4604 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEPU3AS0DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !4604 - %call3.i = tail call spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS0DF16_(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !4604 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300231EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE230_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH39B3, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4607 - call spir_func void @_ZN4sycl3_V15exp10ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4610 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !163 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300906EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300906EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE685_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300767EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300767EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE590_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300537EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300537EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE448_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300247EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300247EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE246_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2ILi1ELS3_3EvEENS0_14local_accessorIiXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorIiLi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIiLNS4_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1717 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4611 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4611 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_cospiDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !444 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS6_LNS9_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4614 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(8) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element2 = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %A2, i64 noundef 1) #13 - %4 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element2, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300742EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300742EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiEE6CreateERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - %0 = load i32, ptr %ImmArray, align 4, !tbaa !69 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300634EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE501_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4615 - store float 0x3FE7914680000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4615 - store float 0x3FCCFA3C40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4615 - store float 0x3FDA9E4660000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4615 - store float 0x3FD2F262C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4615 - store float 0x3FC7A83CC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4615 - store float 0x3FE6AD5520000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4615 - store float 0x3FE9CE1400000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4615 - store float 0x3FE742A5C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4615 - store float 0x3FD0AE5360000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4615 - store float 0x3FD47D9C00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4615 - store float 0x3FE27C0580000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4615 - store float 0x3FD39E9440000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4615 - store float 0x3FD5E3FA80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4615 - store float 0x3FE07E7A00000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4615 - store float 0x3FE7B7E7C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4615 - store float 0x3FE288ADC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4615 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4615 - store float 0x3FEBF0EEA0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4615 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4615 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4615 - call spir_func void @_ZN4sycl3_V15log10INS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4615 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1503 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13powINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14erfcINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1095 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4618 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4618 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_erfcDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300285EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE284_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4621 - store float 0x3FDAB8BC60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4621 - store float 0x3FDEA50360000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4621 - store float 0x3FDCF27300000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4621 - store float 0x3FDEBE1BE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4621 - store float 0x3FD58CD2C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4621 - store float 0x3FE7E73B80000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4621 - store float 0x3FEA9325C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4621 - store float 0x3FD844D280000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4621 - store float 0x3FE3877AE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4621 - store float 0x3FD9E46380000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4621 - store float 0x3FE2041BE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4621 - store float 0x3FE5017BE0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4621 - store float 0x3FE009EFE0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4621 - store float 0x3FE4782420000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4621 - store float 0x3FE6953B00000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4621 - store float 0x3FE8C9D280000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4621 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4621 - store float 0x3FD0112B40000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4621 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4621 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4621 - call spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4621 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300480EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm17EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp36.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4624 - store float 0x3FEAC93EC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4624 - store float 0x3FE58CC800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4624 - store float 0x3FCC103B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4624 - store float 0x3FE7617260000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4624 - store float 0x3FD0506760000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4624 - store float 0x3FD0EC89E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4624 - store float 0x3FE2E97760000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4624 - store float 0x3FD11493C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4624 - store float 0x3FD9EB8DC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4624 - store float 0x3FCD83E460000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4624 - store float 0x3FE4D9FBC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4624 - store float 0x3FE2F2D700000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4624 - store float 0x3FEA6C6540000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4624 - store float 0x3FC693B820000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4624 - store float 0x3FEC71E300000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4624 - store float 0x3FD627D560000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4624 - store float 0x3FBF8BF480000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4624 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4624 - store i32 13009, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4624 - store i32 -21336, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4624 - store i32 26236, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4624 - store i32 5274, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4624 - store i32 8100, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4624 - store i32 31768, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4624 - store i32 16612, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4624 - store i32 3328, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4624 - store i32 -3602, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4624 - store i32 15942, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4624 - store i32 -18456, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4624 - store i32 9763, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4624 - store i32 18708, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4624 - store i32 15618, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4624 - store i32 -17267, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4624 - store i32 -13683, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4624 - store i32 29502, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !4624 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4624 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4624 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4624 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4624 - store i64 %0, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !4624 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4624 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !659 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4627 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_sqrtDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2098 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13tanINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !420 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13tanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4630 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300316EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE315_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp6.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4631 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4631 - store float 0x3FDF3AF4A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4631 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4631 - store float 0x3FC1014680000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4631 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4631 - store float 0x3FD6B845C0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4631 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4631 - store float 0x3FD1A9D4C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4631 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4631 - store float 0x3FCEA8C6C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4631 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4631 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4631 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4631 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4631 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4631 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4631 - store half 0xH35A7, ptr %agg.tmp6.i, align 2, !tbaa.struct !119, !noalias !4631 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4631 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300679EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE546_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH3948, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4634 - store half 0xH383E, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4634 - call spir_func void @_ZN4sycl3_V16minmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300050EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300050EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE49_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4637 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !857 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4639 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4640 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4641 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300141EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE140_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4642 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4642 - store float 0x3FDDBE3460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4642 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4642 - store float 0x3FE5AAE300000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4642 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4642 - store float 0x3FDB12CF40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4642 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4642 - store float 0x3FDFCBA320000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4642 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4642 - store float 0x3FBDD60660000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4642 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4642 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4642 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4642 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4642 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4642 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4642 - call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4642 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm2EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !235 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4645 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4645 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_roundDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16maxmagINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !278 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2EPU3AS3S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %ptr) #4 comdat align 2 !srcloc !417 { -entry: - store ptr addrspace(3) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1846 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !774 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4648 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_acosDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !318 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4651 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4651 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4651 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !4651 - %call3.i = tail call spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !4651 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300124EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE123_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4654 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !336 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2103 - %AccessRange = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4657 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300691EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300691EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE558_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300342EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE341_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4658 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !4658 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300260EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE259_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4661 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4661 - store float 0x3FC34820A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4661 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4661 - store float 0x3FEC9F3F40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4661 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4661 - store float 0x3FDEF28640000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4661 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4661 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4661 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4661 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4661 - call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4661 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !698 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !1488 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300851EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300851EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { -entry: - %arrayidx = getelementptr inbounds [17 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1) #2 comdat !srcloc !1715 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef 16) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmodENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4664 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4665 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4665 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4665 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !4665 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !4665 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300176EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300176EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE175_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !342 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15roundENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4668 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm4EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300874EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp35.i = alloca i32, align 4 - %ref.tmp36.i = alloca i32, align 4 - %ref.tmp37.i = alloca i32, align 4 - %ref.tmp38.i = alloca i32, align 4 - %ref.tmp39.i = alloca i32, align 4 - %ref.tmp40.i = alloca i32, align 4 - %ref.tmp41.i = alloca i32, align 4 - %ref.tmp42.i = alloca i32, align 4 - %ref.tmp43.i = alloca i32, align 4 - %ref.tmp44.i = alloca i32, align 4 - %ref.tmp45.i = alloca i32, align 4 - %ref.tmp46.i = alloca i32, align 4 - %ref.tmp47.i = alloca i32, align 4 - %ref.tmp48.i = alloca i32, align 4 - %ref.tmp49.i = alloca i32, align 4 - %ref.tmp50.i = alloca i32, align 4 - %ref.tmp51.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp54.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp54.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) - %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) - %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) - %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) - %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) - %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) - %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) - %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) - %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) - %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) - %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) - %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) - %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) - %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) - %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) - %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) - %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4669 - store float 0x3FE42FEA20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4669 - store float 0x3FE554C9E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4669 - store float 0x3FE5198FA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4669 - store float 0x3FC1E26FC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4669 - store float 0x3FEAE55EE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4669 - store float 0x3FE5A70100000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4669 - store float 0x3FE1559460000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4669 - store float 0x3FE0A89900000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4669 - store float 0x3FE8349380000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4669 - store float 0x3FDDB78E60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4669 - store float 0x3FE94437A0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4669 - store float 0x3FE508F0C0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4669 - store float 0x3FDB6E7140000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4669 - store float 0x3FE57A0300000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4669 - store float 0x3FE7946CA0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4669 - store float 0x3FE5EA5CC0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4669 - store float 0x3FE2E7AA80000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4669 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4669 - store float 0x3FD3289980000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4669 - store float 0x3FD03B22C0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4669 - store float 0x3FE886F0C0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4669 - store float 0x3FC55AFCC0000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4669 - store float 0x3FC7988EA0000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4669 - store float 0x3FCDFA26E0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4669 - store float 0x3FE146E3C0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4669 - store float 0x3FE092D740000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4669 - store float 0x3FDC67AF20000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4669 - store float 0x3FE673D140000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4669 - store float 0x3FE569B460000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4669 - store float 0x3FCB5B4540000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4669 - store float 0x3FD5CA68A0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4669 - store float 0x3FE5BFF000000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4669 - store float 0x3FE32368A0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4669 - store float 0x3FD494BF00000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4669 - store float 0x3FDCEE14A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4669 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4669 - store i32 -14940, ptr %ref.tmp35.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4669 - store i32 11730, ptr %ref.tmp36.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4669 - store i32 4641, ptr %ref.tmp37.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4669 - store i32 18111, ptr %ref.tmp38.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4669 - store i32 29820, ptr %ref.tmp39.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4669 - store i32 8768, ptr %ref.tmp40.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4669 - store i32 25946, ptr %ref.tmp41.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4669 - store i32 26176, ptr %ref.tmp42.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4669 - store i32 -10095, ptr %ref.tmp43.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4669 - store i32 25704, ptr %ref.tmp44.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4669 - store i32 21885, ptr %ref.tmp45.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4669 - store i32 -18573, ptr %ref.tmp46.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4669 - store i32 20623, ptr %ref.tmp47.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4669 - store i32 -14547, ptr %ref.tmp48.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4669 - store i32 -29888, ptr %ref.tmp49.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4669 - store i32 -7016, ptr %ref.tmp50.i, align 4, !tbaa !126, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4669 - store i32 -5902, ptr %ref.tmp51.i, align 4, !tbaa !126, !noalias !4669 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4669 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4669 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4669 - %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4669 - store i64 %1, ptr %agg.tmp54.i, align 8, !tbaa !128, !noalias !4669 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp54.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4669 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp54.i) - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300167EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE166_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 53645062583315, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4672 - call spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(16) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !2919 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300731EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4675 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4675 - store float 0x3FDE2F2560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4675 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4675 - store float 0x3FE2FD8800000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4675 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4675 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4675 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4675 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4675 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4675 - store float 0x3FE2C641A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4675 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4675 - store float 0x3FEBD2FBA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4675 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4675 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4675 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4675 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4675 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4675 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4675 - store i32 %0, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4675 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4675 - store i64 %1, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4675 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4675 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4675 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4675 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %2 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %2, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm3EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !2944 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4678 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IDv4_DF16_vEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, <4 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { -entry: - store <4 x half> %openclVector, ptr addrspace(4) %this, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300264EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300264EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE263_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300000EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300000EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4679 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4679 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !4679 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !4679 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS0i(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !4679 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300171EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300171EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE170_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !3270 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4682 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4682 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_acoshDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13expINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1319 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4685 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300345EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300345EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE344_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300661EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE528_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp3.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4686 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4686 - store <8 x half> , ptr %agg.tmp3.i, align 16, !tbaa.struct !209, !noalias !4686 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301048EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE783_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4689 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4689 - store float 0x3FE969C320000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4689 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4689 - store float 0x3FBD632E60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4689 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4689 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4689 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4689 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4689 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4689 - call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4689 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef nonnull align 2 dereferenceable(10) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4692 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !838 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4693 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300134EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300134EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE133_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300610EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300610EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE477_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %left, ptr addrspace(4) noundef align 32 dereferenceable(32) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = trunc i64 %i.0 to i32 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %left, i32 noundef %conv) #13 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEixEi(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %right, i32 noundef %conv) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call3) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !4694 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300991EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4695 - store float 0x3FDFB93EE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4695 - store float 0x3FE0493820000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4695 - store float 0x3FE00622A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4695 - store float 0x3FC7507720000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4695 - store float 0x3FDE3D4E00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4695 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4695 - store float 0x3FBD4F0020000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4695 - store float 0x3FDDB0F4E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4695 - store float 0x3FCBE3AFC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4695 - store float 0x3FD0E31E40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4695 - store float 0x3FCA6161E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4695 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4695 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4695 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4695 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4695 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4695 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4695 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300095EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300095EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE94_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300238EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE237_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4698 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4698 - store float 0x3FDF0115E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4698 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4698 - store float 0x3FEB235940000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4698 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4698 - store float 0x3FBE7F7860000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4698 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4698 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4698 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4698 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4698 - call spir_func void @_ZN4sycl3_V15exp10INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4698 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiJLm0EEJLm0EEEESt5arrayIT_XplsZT0_sZT1_EERKS3_IS4_XsZT0_EERKS3_IS4_XsZT1_EESt16integer_sequenceImJXspT0_EEESC_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2202") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A1, ptr addrspace(4) noundef align 4 dereferenceable(4) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !164 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A1, i64 noundef 0) #13 - %2 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm1EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %A2, i64 noundef 0) #13 - %3 = load i32, ptr addrspace(4) %call1, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300492EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE403_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4701 - store float 0x3FDC46ED20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4701 - store float 0x3FE2EC37A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4701 - store float 0x3FBD31FAC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4701 - store float 0x3FC0176160000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4701 - store float 0x3FC8964CE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4701 - store float 0x3FE2999880000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4701 - store float 0x3FDCE93CE0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4701 - store float 0x3FE4F23EC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4701 - store float 0x3FDD50F2E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4701 - store float 0x3FBB217D60000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4701 - store float 0x3FD2FB8EE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4701 - store float 0x3FEB0EF220000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4701 - store float 0x3FE8844700000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4701 - store float 0x3FE66FEDE0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4701 - store float 0x3FD697C660000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4701 - store float 0x3FE5AB9480000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4701 - store float 0x3FD48F9F00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4701 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4701 - store float 0x3FC03151A0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4701 - store float 0x3FDA6B1680000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4701 - store float 0x3FE4EF4260000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4701 - store float 0x3FD2DF8F40000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4701 - store float 0x3FEC807700000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4701 - store float 0x3FD692AAC0000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4701 - store float 0x3FE3310B80000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4701 - store float 0x3FC794F0C0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4701 - store float 0x3FC5DC7620000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4701 - store float 0x3FE7B56040000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4701 - store float 0x3FE28176E0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4701 - store float 0x3FC7ACBCE0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4701 - store float 0x3FDA729C80000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4701 - store float 0x3FE3478B80000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4701 - store float 0x3FE7C83020000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4701 - store float 0x3FDCD830C0000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4701 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4701 - store float 0x3FDDE03D60000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4701 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4701 - call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4701 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4701 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300632EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300632EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE499_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300884EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300884EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE663_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300526EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE437_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4704 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1591 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iPiEET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_Z39__SYCL_GenericCastToPtrExplicit_ToLocalIiEPU3AS3T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr addrspace(3) %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !606 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300629EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300629EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE496_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !2555 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4707 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4707 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_asinDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300162EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300162EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE161_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300859EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE650_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp14.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp15.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %result = alloca %struct.privatePtrCheck.2307.234, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4710 - store float 0x3FD08FEAA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4710 - store float 0x3FE9ED8CA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4710 - store float 0x3FE3C99EC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4710 - store float 0x3FCF236D40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4710 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4710 - store float 0x3FE84F4220000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4710 - store float 0x3FE9A36CC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4710 - store float 0x3FE87017E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4710 - store float 0x3FD04B1260000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4710 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4710 - store i32 -20597, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4710 - store i32 1270, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4710 - store i32 28501, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4710 - store i32 -28366, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !4710 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4710 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm4EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4710 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4710 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4710 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4710 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !4710 - store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !4710 - %2 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4710 - store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !128, !noalias !4710 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp14.i) #14, !noalias !4710 - %3 = load i64, ptr %res.i, align 8, !tbaa !69, !noalias !4710 - store i64 %3, ptr %agg.tmp15.i, align 8, !tbaa !69, !noalias !4710 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp15.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2297") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %res.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4710 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i64, ptr %result, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !983 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4713 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4713 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !4713 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !4713 - %call3.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_atan2Dv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300894EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE673_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.2202", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4716 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4716 - store float 0x3FE323DC20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4716 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4716 - store float 0x3FE99D4E60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4716 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4716 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4716 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4716 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4716 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4716 - store i32 32190, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !4716 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4716 - store i32 2543, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4716 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4716 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4716 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4716 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4716 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4716 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !4716 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !69, !noalias !4716 - call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS2_IiLm2EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2202") align 4 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4716 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4716 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE83_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4719 - store float 0x3FEBBA84A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4719 - store float 0x3FE37ABCC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4719 - store float 0x3FCFA571A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4719 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4719 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4719 - store float 0x3FEC9E9BE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4719 - store float 0x3FC74DE280000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4719 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4719 - store float 0x3FE211DAC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4719 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4719 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4719 - call spir_func void @_ZN4sycl3_V15atan2INS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4719 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4719 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300929EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE708_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4722 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4722 - store float 0x3FD25D0CA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4722 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4722 - store float 0x3FDF1F7D80000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4722 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4722 - store float 0x3FE72FA7E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4722 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4722 - store float 0x3FEBCC2FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4722 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4722 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4722 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4722 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4722 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4722 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4722 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4722 - call spir_func void @_ZN4sycl3_V13sinINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4722 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %dimension) #1 comdat align 2 !srcloc !4725 { -entry: - %idxprom = sext i32 %dimension to i64 - %arrayidx = getelementptr inbounds [1 x i64], ptr addrspace(4) %this, i64 0, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS7_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS6_LNS7_13address_spaceE1EXT_EEEPS6_E4typeEv(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1103 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2EPU3AS1S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail7cast_ASIPU3AS3iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEC2EPU3AS3i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_Z40__SYCL_GenericCastToPtrExplicit_ToGlobalIN4sycl3_V16detail9half_impl4halfEEPU3AS1T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !4726 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPvi(ptr addrspace(4) noundef %Ptr, i32 noundef 5) #15 - ret ptr addrspace(1) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !332 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4727 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4727 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_logbDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300883EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300883EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE662_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300300EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300300EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE299_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300292EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE291_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4730 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4730 - store float 0x3FE4C5E3E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4730 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4730 - store float 0x3FC70A7080000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4730 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4730 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4730 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4730 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4730 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4730 - store float 0x3FE6C469E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4730 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4730 - store float 0x3FD3D378C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4730 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4730 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4730 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4730 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_2.i) #13, !noalias !4730 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4730 - store float 0x3FE74C9AC0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4730 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4730 - store float 0x3FE3769900000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4730 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4730 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4730 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4730 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4730 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4730 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !4730 - store i32 %1, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !4730 - %2 = load i32, ptr %inputData_2.i, align 4, !tbaa !69, !noalias !4730 - store i32 %2, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !4730 - call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_2.i) #13, !noalias !4730 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4730 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4730 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4733 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300175EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE174_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4734 - store float 0x3FDE88E7E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4734 - store float 0x3FC02FA660000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4734 - store float 0x3FEA78C9E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4734 - store float 0x3FE336B000000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4734 - store float 0x3FD5193B60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4734 - store float 0x3FC0919780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4734 - store float 0x3FD9AFB440000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4734 - store float 0x3FCCDCCE40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4734 - store float 0x3FE13C68E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4734 - store float 0x3FCBD74480000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4734 - store float 0x3FCEAE3560000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4734 - store float 0x3FEAC635E0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4734 - store float 0x3FE3964A60000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4734 - store float 0x3FD2D1F680000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4734 - store float 0x3FE9B32280000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4734 - store float 0x3FE3315680000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4734 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4734 - store float 0x3FEB6847A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4734 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4734 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4734 - call spir_func void @_ZN4sycl3_V14coshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4734 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300643EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300643EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE510_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !424 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4737 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4737 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4737 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !4737 - %call7.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_fmodDv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300854EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300854EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE649_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300158EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300158EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE157_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300406EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 8 dereferenceable(10) %this, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4740 - store float 0x3FEB7123C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4740 - store float 0x3FD872A960000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4740 - store float 0x3FD9C0B0E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4740 - store float 0x3FD5DA26A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4740 - store float 0x3FD37D7840000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4740 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4740 - store float 0x3FECC408C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4740 - store float 0x3FE863B000000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4740 - store float 0x3FE9589C40000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4740 - store float 0x3FBF458180000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4740 - store float 0x3FEB94CB20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4740 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4740 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4740 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4740 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4740 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4740 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4740 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(10) %call8, ptr addrspace(4) noundef align 2 dereferenceable(10) %call6, i64 10, i1 false), !tbaa.struct !190 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4585 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4743 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4744 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4743 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #4 comdat align 2 !srcloc !4745 { -entry: - tail call spir_func void @_ZN4sycl3_V16detail5arrayILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i64 noundef %dim0) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1984 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4746 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !4747 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !4746 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !2022 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300857EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4748 - store float 0x3FEA030020000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4748 - store float 0x3FD1CEF140000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4748 - store float 0x3FD128A940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4748 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4748 - store float 0x3FD6DF66A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4748 - store float 0x3FE1A932C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4748 - store float 0x3FDF2203E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4748 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4748 - store i32 12113, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4748 - store i32 31597, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4748 - store i32 13485, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4748 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4748 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4748 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4748 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4748 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4748 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4748 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300802EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300802EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE625_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300667EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300667EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE534_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300486EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE397_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4751 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !4751 - call spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300593EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2364, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300593EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !2555 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4754 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_asinDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300517EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE428_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4757 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, i32 noundef 31071) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300974EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE725_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1778.210, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4760 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4760 - store float 0x3FC1391140000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4760 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4760 - store float 0x3FD8DF50A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4760 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4760 - store float 0x3FE5FD3800000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4760 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4760 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4760 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4760 - store float 0x3FBE715CC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4760 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4760 - store float 0x3FDE82F9C0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4760 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4760 - store float 0x3FE83267C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4760 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4760 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4760 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4760 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4760 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4760 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !4760 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !4760 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4760 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300113EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300113EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE112_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300648EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE515_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 64915069416609, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4763 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !873 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301083EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE818_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4766 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4766 - store float 0x3FE144CB00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4766 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4766 - store float 0x3FE0B5E640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4766 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4766 - store float 0x3FE5968460000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4766 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4766 - store float 0x3FE9BB6380000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4766 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4766 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4766 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4766 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4766 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4766 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4766 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4766 - call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4766 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15cospiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !4769 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4770 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4770 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_cospiDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !3270 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4773 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_acoshDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300913EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300913EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE692_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4776 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJfffEE6CreateERKfSA_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp3 = alloca %"class.sycl::_V1::marray.7", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm3EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp3.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300753EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1900.217, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300753EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300336EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE335_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4777 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4777 - store float 0x3FD14E3700000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4777 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4777 - store float 0x3FD6C47D00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4777 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4777 - store float 0x3FE997C980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4777 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4777 - store float 0x3FE6CA1F40000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4777 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4777 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4777 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4777 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4777 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4777 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4777 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4777 - store half 0xH36FD, ptr %agg.tmp5.i, align 2, !tbaa.struct !119, !noalias !4777 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4777 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { -entry: - br label %arrayinit.body - -arrayinit.body: ; preds = %arrayinit.body, %entry - %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] - %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx - store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 - %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 - %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 17 - br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body - -arrayinit.end2: ; preds = %arrayinit.body - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef nonnull align 4 dereferenceable(20) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4780 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !89 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300913EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE692_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4781 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300638EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300638EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE505_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301082EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301082EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE817_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300350EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300350EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE349_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4784 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm6EE6_S_refERA6_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(12) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [6 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4785 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300329EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300329EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE328_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300490EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE401_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4786 - store float 0x3FD9D02580000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4786 - store float 0x3FE24863C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4786 - store float 0x3FE2CB4320000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4786 - store float 0x3FBD877AC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4786 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4786 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4786 - store float 0x3FC6E05D60000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4786 - store float 0x3FC1AC5420000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4786 - store float 0x3FC0457B80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4786 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4786 - store float 0x3FD1384440000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4786 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4786 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4786 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4786 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !4786 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !4786 - call spir_func void @_ZN4sycl3_V15hypotINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4786 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !685 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !4789 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !4789 - %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fdimDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300245EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300245EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE244_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !860 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4792 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_tanhDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300313EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE312_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4795 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4795 - store float 0x3FEA332DA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4795 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4795 - store float 0x3FE51AE040000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4795 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4795 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4795 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4795 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4795 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4795 - store half 0xH3A41, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !4795 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4795 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300882EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE661_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4798 - call spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !488 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4801 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_expm1Dv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a1) #2 comdat !srcloc !366 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a1.ascast, i64 noundef 4) #13 - %1 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fmaxENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4804 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4805 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300915EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE694_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4806 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1049 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4809 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300421EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4810 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4810 - store half 0xH38A5, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4810 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4810 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !4810 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4810 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmodINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a1) #2 comdat !srcloc !424 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - %agg.tmp1.sroa.0.0.copyload = load <16 x half>, ptr %a1, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp13) - store <16 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 32 - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2) #13, !noalias !4813 - %call2.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp13) #13, !noalias !4813 - %call3.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_fmodDv16_DF16_S_(<16 x half> noundef %call.i, <16 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !270 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300319EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300319EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE318_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300314EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE313_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4816 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4816 - store float 0x3FE961C500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4816 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4816 - store float 0x3FE7783AA0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4816 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4816 - store float 0x3FE60DD9A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4816 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4816 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4816 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4816 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4816 - store half 0xH2E9C, ptr %agg.tmp4.i, align 2, !tbaa.struct !119, !noalias !4816 - call spir_func void @_ZN4sycl3_V14fmaxINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4816 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301074EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE809_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4819 - store float 0x3FD5B232A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4819 - store float 0x3FD2054C20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4819 - store float 0x3FDEECB000000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4819 - store float 0x3FE1B02FA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4819 - store float 0x3FD6432060000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4819 - store float 0x3FC0E815E0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4819 - store float 0x3FBBBA35C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4819 - store float 0x3FC9064D00000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4819 - store float 0x3FE5D71600000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4819 - store float 0x3FEB36A6A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4819 - store float 0x3FEC471A80000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4819 - store float 0x3FE6EC5B40000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4819 - store float 0x3FEA2F1920000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4819 - store float 0x3FD3DCB2A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4819 - store float 0x3FDBF990A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4819 - store float 0x3FDBB092A0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4819 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4819 - store float 0x3FC33C5AC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4819 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4819 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4819 - call spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4819 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !110 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300516EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300516EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE427_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp13 = alloca %"struct.std::array.2413", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp13.ascast = addrspacecast ptr %ref.tmp13 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 28, ptr nonnull %ref.tmp13) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2413") align 4 %ref.tmp13.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm7EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.2412") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(28) %ref.tmp13.ascast) #13 - call void @llvm.lifetime.end.p0(i64 28, ptr nonnull %ref.tmp13) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EE22FlattenMArrayArgHelperIS4_fEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.76.8") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !2212 !sycl_used_aspects !63 { -entry: - tail call spir_func void @_ZN4sycl3_V16detail9half_impl4halfC2ERKf(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm3EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a1) #2 comdat !srcloc !1155 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4822 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4822 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !4822 - %call2.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp1.i) #13, !noalias !4822 - %call3.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_minmagDv4_DF16_S_(<4 x half> noundef %call.i, <4 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300263EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300263EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE262_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1789 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4637 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4825 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4826 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4827 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301084EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE819_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300794EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300794EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE617_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300920EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE699_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4828 - store float 0x3FD566C220000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4828 - store float 0x3FE6702380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4828 - store float 0x3FDEFB0620000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4828 - store float 0x3FBBE0DF00000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4828 - store float 0x3FD6223060000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4828 - store float 0x3FE1149800000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4828 - store float 0x3FC8B6F860000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4828 - store float 0x3FDFB1CAC0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4828 - store float 0x3FC1A83940000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4828 - store float 0x3FD9AA5520000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4828 - store float 0x3FD0216EA0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4828 - store float 0x3FDBD48020000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4828 - store float 0x3FD9A97120000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4828 - store float 0x3FE88B5AC0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4828 - store float 0x3FDD5BEDC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4828 - store float 0x3FCB39C220000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4828 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4828 - store float 0x3FE915AC00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4828 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4828 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4828 - call spir_func void @_ZN4sycl3_V15rsqrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4828 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !1852 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4831 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4831 - %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_sinDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm9EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(36) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm9EE6_S_refERA9_Kim(ptr addrspace(4) noundef align 4 dereferenceable(36) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJLm0ELm1ELm2EEEERKSt5arrayIS4_Lm3EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this, ptr addrspace(4) noundef align 2 dereferenceable(6) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1922 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %Arr, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %this, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %Arr, i64 noundef 1) #13 - %2 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element3 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 2 - %call4 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %Arr, i64 noundef 2) #13 - %3 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element3, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301085EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301085EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE820_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE0EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm2EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300728EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 - store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4834 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4834 - store float 0x3FE8302460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4834 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4834 - store float 0x3FE0452D40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4834 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4834 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4834 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4834 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4834 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4834 - store float 0x3FD4058920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4834 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4834 - store float 0x3FCC839200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4834 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4834 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4834 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4834 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4834 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4834 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4834 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4834 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4834 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4834 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4834 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4834 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4834 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300665EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300665EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE532_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { -entry: - br label %arrayinit.body - -arrayinit.body: ; preds = %arrayinit.body, %entry - %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] - %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx - store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 - %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 - %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 2 - br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body - -arrayinit.end2: ; preds = %arrayinit.body - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm2EE6_S_refERA2_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(4) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [2 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %a1) #2 comdat !srcloc !1082 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %a1.ascast, i64 noundef %conv) #13 - %1 = load i32, ptr addrspace(4) %call3, align 4, !tbaa !126 - call spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, i32 noundef %1) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4837 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !515 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301064EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301064EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE799_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4838 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1) #2 comdat !srcloc !1891 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V19nextafterINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4839 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300149EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300149EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE148_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail16PointerConverterIPU3AS3iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300262EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE261_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4840 - store float 0x3FE43580A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4840 - store float 0x3FEBD4A7E0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4840 - store float 0x3FE6B2AB60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4840 - store float 0x3FE9DC2DE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4840 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4840 - store float 0x3FC8F9D8E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4840 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4840 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4840 - call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4840 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !659 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4843 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4843 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_sqrtDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300855EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp12.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4846 - store float 0x3FB9C01560000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4846 - store float 0x3FDCDB4BE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4846 - store float 0x3FBA37F060000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4846 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4846 - store float 0x3FE3ADA3E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4846 - store float 0x3FE5273AA0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4846 - store float 0x3FC29E82C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4846 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4846 - store i32 3017, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4846 - store i32 17418, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4846 - store i32 24782, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !4846 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4846 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4846 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4846 - %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4846 - store i64 %1, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !4846 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4846 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301047EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301047EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE782_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !362 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4849 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !4849 - %call1.i = tail call spir_func noundef <4 x half> @_Z17__spirv_ocl_atanhDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300976EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1786.211, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300976EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2252 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300454EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp3.i = alloca i32, align 4 - %ref.tmp4.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4852 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4852 - store float 0x3FCE999460000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4852 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4852 - store float 0x3FE2B5BC20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4852 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4852 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4852 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4852 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4852 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4852 - store i32 -23985, ptr %ref.tmp3.i, align 4, !tbaa !126, !noalias !4852 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4852 - store i32 -30284, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4852 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4852 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4852 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4852 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4852 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4852 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4852 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4852 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4852 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4852 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4852 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4852 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4852 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 - store i64 %5, ptr addrspace(4) %call8, align 4, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !1723 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4855 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4855 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_log10Dv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300745EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE576_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1854.214, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4858 - store float 0x3FE77A9860000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4858 - store float 0x3FE498E2C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4858 - store float 0x3FD0E2A720000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4858 - store float 0x3FD0143040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4858 - store float 0x3FD0B6A220000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4858 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4858 - store float 0x3FD4192780000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4858 - store float 0x3FD3506120000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4858 - store float 0x3FE123B7C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4858 - store float 0x3FD2928B40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4858 - store float 0x3FE1E08B20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4858 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4858 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4858 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %res.i) #13, !noalias !4858 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4858 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !4858 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !4858 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %res.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4858 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1854.214, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300584EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300584EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE463_NS2_IiLm4EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EE4sizeEv() #1 comdat align 2 !srcloc !587 { -entry: - ret i64 2 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300788EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE611_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4861 - store float 0x3FDEBE2A60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4861 - store float 0x3FC2821DC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4861 - store float 0x3FE4FB1320000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4861 - store float 0x3FE2993640000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4861 - store float 0x3FE5B9C1E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4861 - store float 0x3FC9559440000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4861 - store float 0x3FE937FB80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4861 - store float 0x3FC41092E0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4861 - store float 0x3FDEE01360000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4861 - store float 0x3FE899F060000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4861 - store float 0x3FCEEA5EA0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4861 - store float 0x3FE38BDBC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4861 - store float 0x3FE5AA7BA0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4861 - store float 0x3FD253C300000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4861 - store float 0x3FE0066260000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4861 - store float 0x3FC4D2B200000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4861 - store float 0x3FDB611D60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4861 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4861 - store i32 -9551, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4861 - store i32 -10807, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4861 - store i32 10559, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4861 - store i32 3083, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4861 - store i32 13741, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4861 - store i32 23949, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4861 - store i32 -2088, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4861 - store i32 5007, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4861 - store i32 -10153, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4861 - store i32 22548, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4861 - store i32 -20593, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4861 - store i32 -656, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4861 - store i32 -9630, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4861 - store i32 -6170, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4861 - store i32 8643, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4861 - store i32 5574, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !4861 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4861 - store i32 -30096, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !4861 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4861 - call spir_func void @_ZN4sycl3_V14pownINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %inputData_1.i) #13, !noalias !4861 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4861 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !1109 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !2114 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4864 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2585 - %1 = addrspacecast ptr addrspace(3) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, i64 noundef %index) #1 comdat align 2 !srcloc !1283 { -entry: - %arrayidx = getelementptr inbounds [2 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300049EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300049EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE48_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm17EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(68) %left, ptr addrspace(4) noundef align 4 dereferenceable(68) %right) #1 comdat !srcloc !145 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayIiLm17EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIiiEEvRT_RKT0_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call1, ptr addrspace(4) noundef align 4 dereferenceable(4) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !4865 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301034EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE769_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1764 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300666EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE533_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4866 - store float 0x3FD9B288C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4866 - store float 0x3FE0E2F640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4866 - store float 0x3FD98B1B00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4866 - store float 0x3FD11C3FA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4866 - store float 0x3FE8F311E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4866 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4866 - store float 0x3FC3ED3220000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4866 - store float 0x3FD9AB2460000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4866 - store float 0x3FE745E6A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4866 - store float 0x3FE018B9E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4866 - store float 0x3FE07B6BA0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4866 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_2.i) #13, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4866 - store float 0x3FC859C640000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4866 - store float 0x3FD1283C40000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4866 - store float 0x3FE5E98D20000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4866 - store float 0x3FD669E0A0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4866 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4866 - store float 0x3FE616D5A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4866 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4866 - call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_2.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_2.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4866 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4866 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300295EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300295EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE294_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a2) #2 comdat !srcloc !1166 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp6 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - %1 = load i64, ptr %a1, align 2 - %2 = load i64, ptr %a2, align 2 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - store i64 %1, ptr %agg.tmp3, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp3, i64 noundef %mul) #13 - store i64 %2, ptr %agg.tmp6, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp6, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13madINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp5) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %3 = load i32, ptr %PartialRes, align 4 - store i32 %3, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4869 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <16 x i32> @_ZNK4sycl3_V13vecIiLi16EEcvDv16_iEv(ptr addrspace(4) noundef align 64 dereferenceable_or_null(64) %this) #1 comdat align 2 !srcloc !954 { -entry: - %0 = load <16 x i32>, ptr addrspace(4) %this, align 64, !tbaa !69 - ret <16 x i32> %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm2EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(4) %A2) #1 comdat !srcloc !758 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %class.anon, align 1 - %agg.tmp1 = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(4) %A2, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp1) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <3 x i32> @_ZNK4sycl3_V13vecIiLi3EEcvDv3_iEv(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this) #1 comdat align 2 !srcloc !954 { -entry: - %loadVec4 = load <4 x i32>, ptr addrspace(4) %this, align 16 - %extractVec = shufflevector <4 x i32> %loadVec4, <4 x i32> poison, <3 x i32> - ret <3 x i32> %extractVec -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1DF16_NS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !1524 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE0EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr addrspace(1) %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !773 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300335EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE334_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4870 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4870 - store float 0x3FE711C540000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4870 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4870 - store float 0x3FE25E8FC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4870 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4870 - store float 0x3FCB8B90E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4870 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4870 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4870 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4870 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4870 - store half 0xH3A62, ptr %agg.tmp4.i, align 2, !tbaa.struct !119, !noalias !4870 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4870 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1860 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4873 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_rsqrtDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !2115 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4876 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4876 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_coshDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayIiLm5EEEPS4_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !114 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayIiLm5EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300348EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE347_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4879 - store float 0x3FE18DEBE0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4879 - store float 0x3FBCF1D9A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4879 - store float 0x3FC95D5740000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4879 - store float 0x3FD6431200000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4879 - store float 0x3FE3562020000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4879 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4879 - store float 0x3FD9EDF340000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4879 - store float 0x3FD3884A40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4879 - store float 0x3FDA0D7A80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4879 - store float 0x3FDE1C8D00000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4879 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4879 - store float 0x3FE26BDC40000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4879 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4879 - call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !4879 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4879 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300034EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE33_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4882 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300994EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1900.217, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300994EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfES6_EET_T0_(ptr addrspace(1) noundef %from) #1 comdat !srcloc !141 { -entry: - ret ptr addrspace(1) %from -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300022EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE21_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH39ED, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !4885 - call spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300116EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE115_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4888 - store float 0x3FE10D31A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4888 - store float 0x3FD0B35F60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4888 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4888 - store float 0x3FD5968940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4888 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4888 - store float 0x3FDD04F240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4888 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4888 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4888 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4888 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !4888 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4888 - call spir_func void @_ZN4sycl3_V17atan2piINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !4888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4888 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm17EE6_S_refERA17_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(34) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300045EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300045EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE44_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300063EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300063EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE62_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !300 { -entry: - %AccessRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %AccessRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_NS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call6.ascast = addrspacecast ptr addrspace(3) %call6 to ptr addrspace(4) - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call6.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4891 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !694 - ret ptr addrspace(3) %0 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300741EE(ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1824.213, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 2, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1824.213, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300741EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !2115 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4892 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4892 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_coshDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300003EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300003EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE2_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300667EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE534_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp35.i = alloca float, align 4 - %ref.tmp36.i = alloca float, align 4 - %ref.tmp37.i = alloca float, align 4 - %ref.tmp38.i = alloca float, align 4 - %ref.tmp39.i = alloca float, align 4 - %ref.tmp40.i = alloca float, align 4 - %ref.tmp41.i = alloca float, align 4 - %ref.tmp42.i = alloca float, align 4 - %ref.tmp43.i = alloca float, align 4 - %ref.tmp44.i = alloca float, align 4 - %ref.tmp45.i = alloca float, align 4 - %ref.tmp46.i = alloca float, align 4 - %ref.tmp47.i = alloca float, align 4 - %ref.tmp48.i = alloca float, align 4 - %ref.tmp49.i = alloca float, align 4 - %ref.tmp50.i = alloca float, align 4 - %ref.tmp51.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) - %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) - %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) - %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) - %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) - %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) - %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) - %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) - %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) - %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) - %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) - %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) - %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) - %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) - %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) - %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) - %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4895 - store float 0x3FE2874DA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4895 - store float 0x3FE50AE980000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4895 - store float 0x3FD5BCFFC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4895 - store float 0x3FDBADD040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4895 - store float 0x3FE8FAEE00000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4895 - store float 0x3FD03D9500000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4895 - store float 0x3FC458A520000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4895 - store float 0x3FE7B2E260000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4895 - store float 0x3FE947ABE0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4895 - store float 0x3FCF285A20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4895 - store float 0x3FE8190900000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4895 - store float 0x3FD22C0820000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4895 - store float 0x3FE77A7B40000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4895 - store float 0x3FE4DAE800000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4895 - store float 0x3FDE0BD520000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4895 - store float 0x3FDA85F900000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4895 - store float 0x3FE979ECE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4895 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4895 - store float 0x3FD1641AA0000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4895 - store float 0x3FE2320900000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4895 - store float 0x3FD005B4A0000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4895 - store float 0x3FEB10A160000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4895 - store float 0x3FC71FB380000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4895 - store float 0x3FEB2F7880000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4895 - store float 0x3FEA278D60000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4895 - store float 0x3FEBF9A2E0000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4895 - store float 0x3FE5AA5C00000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4895 - store float 0x3FEB65CA00000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4895 - store float 0x3FBCA45300000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4895 - store float 0x3FD8F888C0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4895 - store float 0x3FE0B831C0000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4895 - store float 0x3FE1B2D180000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4895 - store float 0x3FBF9A9AE0000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4895 - store float 0x3FE9760300000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4895 - store float 0x3FCAE9B6A0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !4895 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_2.i) #13, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4895 - store float 0x3FCAE31E40000000, ptr %ref.tmp35.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4895 - store float 0x3FC48E3880000000, ptr %ref.tmp36.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4895 - store float 0x3FEA1FB540000000, ptr %ref.tmp37.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4895 - store float 0x3FD1749440000000, ptr %ref.tmp38.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4895 - store float 0x3FE31F7040000000, ptr %ref.tmp39.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4895 - store float 0x3FEA3C8C40000000, ptr %ref.tmp40.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4895 - store float 0x3FE4EF2820000000, ptr %ref.tmp41.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4895 - store float 0x3FE4C14DC0000000, ptr %ref.tmp42.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4895 - store float 0x3FE8190AC0000000, ptr %ref.tmp43.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4895 - store float 0x3FC5206300000000, ptr %ref.tmp44.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4895 - store float 0x3FE3F6AF40000000, ptr %ref.tmp45.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4895 - store float 0x3FDBBA3EA0000000, ptr %ref.tmp46.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4895 - store float 0x3FE58CEE80000000, ptr %ref.tmp47.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4895 - store float 0x3FE3DF8840000000, ptr %ref.tmp48.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4895 - store float 0x3FD679ECE0000000, ptr %ref.tmp49.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4895 - store float 0x3FE1BDC560000000, ptr %ref.tmp50.i, align 4, !tbaa !82, !noalias !4895 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4895 - store float 0x3FE6C8BBC0000000, ptr %ref.tmp51.i, align 4, !tbaa !82, !noalias !4895 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !4895 - call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_2.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_2.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !4895 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4895 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300093EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE92_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4898 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1406 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4901 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !659 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4903 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !4903 - %call2.i = tail call spir_func noundef <3 x half> @_Z16__spirv_ocl_sqrtDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300477EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE392_NS2_IiLm17EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp35.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2401.238, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp35.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4906 - store float 0x3FE2FBAB00000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4906 - store float 0x3FD95326C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4906 - store float 0x3FDAB643A0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4906 - store float 0x3FE6F85DC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4906 - store float 0x3FE481F300000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4906 - store float 0x3FE90EA8C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4906 - store float 0x3FE7E47E80000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4906 - store float 0x3FDF7AC700000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4906 - store float 0x3FC77E67E0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4906 - store float 0x3FDC03E8A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4906 - store float 0x3FE7684D20000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4906 - store float 0x3FD9317C20000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4906 - store float 0x3FE8C49000000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4906 - store float 0x3FDAD5C480000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4906 - store float 0x3FE82385A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4906 - store float 0x3FE6A22200000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4906 - store float 0x3FE46476A0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4906 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4906 - store i32 -31841, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4906 - store i32 -5458, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4906 - store i32 27208, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4906 - store i32 15329, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4906 - store i32 -4611, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4906 - store i32 -20648, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4906 - store i32 8747, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4906 - store i32 -31106, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4906 - store i32 16411, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4906 - store i32 22085, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4906 - store i32 -6110, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4906 - store i32 22952, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4906 - store i32 -217, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4906 - store i32 22192, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4906 - store i32 8943, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4906 - store i32 -17565, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4906 - store i32 -30560, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !4906 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4906 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayIiLm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !4906 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4906 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4906 - store i64 %0, ptr %agg.tmp35.i, align 8, !tbaa !128, !noalias !4906 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp35.i) #14, !noalias !4906 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEENS2_IiLm17EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(104) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2391") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %res.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4906 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp35.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 34, i1 false), !tbaa.struct !401 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2401.238, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !3254 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !4909 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_log2Dv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !362 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4912 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4912 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_atanhDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300729EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE2_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 - store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4915 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4915 - store float 0x3FC355D720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4915 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4915 - store float 0x3FE95F9440000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4915 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !4915 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4915 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4915 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4915 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4915 - store float 0x3FD1C357E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4915 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4915 - store float 0x3FC3A46040000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4915 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4915 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4915 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4915 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4915 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4915 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !4915 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !4915 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4915 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !4915 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4915 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4915 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !4915 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(3) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4918 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJLm0ELm1EEEERKSt5arrayIiLm2EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 4 dereferenceable(8) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %Arr, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %Arr, i64 noundef 1) #13 - %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_3vecINS1_9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300329EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE328_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4919 - store half 0xH388D, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4919 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300521EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300521EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE432_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300536EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300536EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE447_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !854 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !324 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300121EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300121EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE120_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300454EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2223, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300454EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !3254 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !4922 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !4922 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_log2Dv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300179EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE178_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4925 - call spir_func void @_ZN4sycl3_V15cospiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301084EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE819_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4928 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4928 - store float 0x3FCCB35160000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4928 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4928 - store float 0x3FDED08B00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4928 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4928 - store float 0x3FE74F92E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4928 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4928 - store float 0x3FE873E780000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4928 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4928 - store float 0x3FE90921A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4928 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4928 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4928 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4928 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4928 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4928 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4928 - call spir_func void @_ZN4sycl3_V15truncINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4928 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !651 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !2895 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4931 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4931 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !4931 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300125EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE124_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !4932 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3944 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13sinINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !1852 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !4935 - %call1.i = tail call spir_func noundef <8 x half> @_Z15__spirv_ocl_sinDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300649EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE516_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !4938 - call spir_func void @_ZN4sycl3_V14logbINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300675EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300675EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE542_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300895EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE674_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4941 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4941 - store float 0x3FD10AAE40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4941 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4941 - store float 0x3FD997C660000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4941 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4941 - store float 0x3FE2E30B60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4941 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4941 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4941 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4941 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4941 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !4941 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4941 - store i32 -16652, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !4941 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4941 - store i32 24465, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4941 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4941 - store i32 -28169, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4941 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !4941 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4941 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4941 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4941 - call spir_func void @_ZN4sycl3_V15rootnINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Eaasr6detailE11is_marray_vIT0_Esr6detailE20is_valid_elem_type_vISA_iEES9_E4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %inputData_1.i) #14 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %inputData_1.i) #13, !noalias !4941 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4941 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300684EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE551_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4944 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4944 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEC2EPU3AS0S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr %ptr, ptr addrspace(4) %this, align 8, !tbaa !4947 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3312 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300337EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE336_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp6.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4949 - store float 0x3FE07E4CA0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4949 - store float 0x3FEC444840000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4949 - store float 0x3FE5658A60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4949 - store float 0x3FE585CD80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4949 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4949 - store float 0x3FE3FCEF20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4949 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4949 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4949 - store half 0xH3B20, ptr %agg.tmp6.i, align 2, !tbaa.struct !119, !noalias !4949 - call spir_func void @_ZN4sycl3_V14fminINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4949 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp6.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds i32, ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300023EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE22_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !4952 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300815EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300815EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %left, ptr addrspace(4) noundef align 2 dereferenceable(6) %right) #1 comdat !srcloc !1271 !sycl_used_aspects !63 { -entry: - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %call = tail call spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EE4sizeEv() #13 - %cmp = icmp ult i64 %i.0, %call - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %left, i64 noundef %i.0) #13 - %call2 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %right, i64 noundef %i.0) #13 - tail call spir_func void @_ZN16value_operations6detail20assign_value_or_evenIN4sycl3_V16detail9half_impl4halfES6_EEvRT_RKT0_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call1, ptr addrspace(4) noundef align 2 dereferenceable(2) %call2) #13 - %inc = add nuw i64 %i.0, 1 - br label %for.cond, !llvm.loop !4955 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300587EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp10.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp10.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4956 - store float 0x3FD3EC2960000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4956 - store float 0x3FC0F2C200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4956 - store float 0x3FE294BE60000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4956 - store float 0x3FE5D04FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4956 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4956 - store i32 12383, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4956 - store i32 30536, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4956 - store i32 24435, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4956 - store i32 31009, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !4956 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4956 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4956 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !4956 - %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4956 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !4956 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !4956 - store i64 %2, ptr %agg.tmp10.i, align 8, !tbaa !128, !noalias !4956 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp10.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4956 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp10.i) - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %3, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300352EE(ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1520.196, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i16, ptr %_arg_arg, align 2, !tbaa !99 - store i16 %0, ptr %__SYCLKernel, align 8, !tbaa !99 - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6detail9half_impl4halfELi1EE6__initEPU3AS3S4_NS0_5rangeILi1EEES9_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300352EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300684EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300684EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE551_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS4_9decoratedE1EEEPU3AS3iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS3iNS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr addrspace(3) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300142EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE141_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4959 - store float 0x3FE62497A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4959 - store float 0x3FC04F42A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4959 - store float 0x3FE4A066E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4959 - store float 0x3FE2196B60000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4959 - store float 0x3FE71040E0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4959 - store float 0x3FD53C92A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4959 - store float 0x3FE4C3B220000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4959 - store float 0x3FD100DFE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4959 - store float 0x3FE0BFD640000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4959 - store float 0x3FD7D285E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4959 - store float 0x3FEC3F9980000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4959 - store float 0x3FEC146CC0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4959 - store float 0x3FD1196880000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4959 - store float 0x3FE1B0C9C0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4959 - store float 0x3FD74478A0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4959 - store float 0x3FEBFE9CA0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4959 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4959 - store float 0x3FEADE2C60000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4959 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4959 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4959 - call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4959 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300458EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300458EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE385_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300192EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300192EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE191_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EEC2EPU3AS0S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4962 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300211EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE210_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 61187059234784, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4963 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE7getSizeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !162 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 1 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300101EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE100_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 64309478764469, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4966 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3779 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300503EN4sycl3_V16marrayIiLm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE414_EvS9_T1_NS6_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESO_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.2391", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4969 - store float 0x3FEAEB3D60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4969 - store float 0x3FD1FCEB60000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4969 - store float 0x3FDFFBD160000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4969 - store float 0x3FE38C8B80000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4969 - store float 0x3FC1E82640000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4969 - store float 0x3FDB91F100000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4969 - store float 0x3FE2AE3360000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4969 - store float 0x3FE8B930A0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4969 - store float 0x3FC11A6080000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4969 - store float 0x3FD6D88DC0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4969 - store float 0x3FD68B1AE0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4969 - store float 0x3FCD81DD00000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4969 - store float 0x3FD70D04A0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4969 - store float 0x3FEC944C60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4969 - store float 0x3FDF854DC0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4969 - store float 0x3FC44A4AE0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !4969 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4969 - store float 0x3FE7505940000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !4969 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4969 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4969 - call spir_func void @_ZN4sycl3_V15ilogbINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EENS3_15change_elementsIiS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2391") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !4969 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayIiLm17EEES4_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS6_RKS7_(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 4 dereferenceable(68) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"struct.std::array.147.20") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(16) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - %arrayinit.element6 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 4 - %call7 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 3) #13 - %6 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %6, ptr addrspace(4) %arrayinit.element6, align 2, !tbaa !99 - %arrayinit.element8 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 5 - %call9 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 4) #13 - %7 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %7, ptr addrspace(4) %arrayinit.element8, align 2, !tbaa !99 - %arrayinit.element10 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 6 - %call11 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 5) #13 - %8 = load i16, ptr addrspace(4) %call11, align 2, !tbaa !99 - store i16 %8, ptr addrspace(4) %arrayinit.element10, align 2, !tbaa !99 - %arrayinit.element12 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 7 - %call13 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 6) #13 - %9 = load i16, ptr addrspace(4) %call13, align 2, !tbaa !99 - store i16 %9, ptr addrspace(4) %arrayinit.element12, align 2, !tbaa !99 - %arrayinit.element14 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 8 - %call15 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm8EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(16) %A2, i64 noundef 7) #13 - %10 = load i16, ptr addrspace(4) %call15, align 2, !tbaa !99 - store i16 %10, ptr addrspace(4) %arrayinit.element14, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300311EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300311EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE310_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300991EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300991EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300867EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2364, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300867EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300815EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_2.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4972 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !4972 - store half 0xH2FF3, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !4972 - store half 0xH3B32, ptr %agg.tmp3.i, align 2, !tbaa.struct !119, !noalias !4972 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !4972 - store i64 %0, ptr %agg.tmp4.i, align 8, !tbaa !128, !noalias !4972 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp4.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !4972 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rootnENS0_6detail9half_impl4halfEi(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !4975 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4976 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4976 - %call1.i = tail call spir_func noundef i32 @_ZN4sycl3_V16detail17convertDataToTypeIiiEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS5_stS4_ES5_E4typeES4_(i32 noundef %a1) #13, !noalias !4976 - %call2.i = tail call spir_func noundef half @_Z17__spirv_ocl_rootnDF16_i(half noundef %call.i, i32 noundef %call1.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJffffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_SA_(ptr addrspace(4) noalias sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp13 = alloca %"struct.std::array.151.22", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp13.ascast = addrspacecast ptr %ref.tmp13 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 14, ptr nonnull %ref.tmp13) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm17EE16FlattenMArrayArgEJfffffffEE6CreateERKfSA_SA_SA_SA_SA_SA_(ptr addrspace(4) sret(%"struct.std::array.151.22") align 2 %ref.tmp13.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm7EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"struct.std::array.149.21") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(14) %ref.tmp13.ascast) #13 - call void @llvm.lifetime.end.p0(i64 14, ptr nonnull %ref.tmp13) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300848EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300848EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE647_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !301 { -entry: - tail call spir_func void @_ZN4sycl3_V16marrayIiLm17EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300009EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE8_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4979 - store float 0x3FD2E36380000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4979 - store float 0x3FD70CEB20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4979 - store float 0x3FE97BEBA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4979 - store float 0x3FD02EC120000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4979 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4979 - store float 0x3FE1BA7040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !4979 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !4979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !4979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4979 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4979 - call spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !4979 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %this, i64 noundef %index) #1 comdat align 2 !srcloc !2008 { -entry: - %arrayidx = getelementptr inbounds [4 x i32], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300757EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300757EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE580_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19nextafterENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !4982 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !4983 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !4983 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !4983 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !4983 - %call3.i = tail call spir_func noundef half @_Z21__spirv_ocl_nextafterDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14atanINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !150 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14atanINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !4986 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300884EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE663_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4987 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4987 - store float 0x3FE0A82640000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4987 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4987 - store float 0x3FEC68BFC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4987 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4987 - store float 0x3FD98EA960000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4987 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !4987 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4987 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4987 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4987 - call spir_func void @_ZN4sycl3_V14rintINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !4987 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !4990 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !621 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %I) #1 comdat align 2 !srcloc !528 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !1546 - %Offset = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Offset, align 8, !tbaa !4991 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %1, i32 noundef %conv) #13 - %2 = load i64, ptr addrspace(4) %call, align 8, !tbaa !340 - %call2 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call2, i32 noundef %conv) #13 - store i64 %2, ptr addrspace(4) %call4, align 8, !tbaa !340 - %AccessRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %AccessRange, align 8, !tbaa !4992 - %call6 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call6, align 8, !tbaa !340 - %call7 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getAccessRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call9 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call7, i32 noundef %conv) #13 - store i64 %4, ptr addrspace(4) %call9, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %class.anon.2, ptr addrspace(4) %this, i64 0, i32 3 - %5 = load ptr addrspace(4), ptr addrspace(4) %MemRange, align 8, !tbaa !4993 - %call11 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %5, i32 noundef %conv) #13 - %6 = load i64, ptr addrspace(4) %call11, align 8, !tbaa !340 - %call12 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %call14 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call12, i32 noundef %conv) #13 - store i64 %6, ptr addrspace(4) %call14, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300416EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300416EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE371_iEvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300522EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE433_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4994 - store float 0x3FE9425F80000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !4994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4994 - store float 0x3FE9AFB640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !4994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4994 - store float 0x3FE492C3E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !4994 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4994 - store float 0x3FEB32B3C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !4994 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !4994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !4994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !4994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !4994 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !4994 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !4994 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !4994 - call spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, i32 noundef 14098) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !4994 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300810EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300810EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE633_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300324EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300324EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE323_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300269EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE268_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !4997 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !4997 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm14EE6_S_refERA14_Kim(ptr addrspace(4) noundef align 4 dereferenceable(56) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !455 { -entry: - %arrayidx = getelementptr inbounds [14 x i32], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !570 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !2748 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300098EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE97_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5000 - store float 0x3FD96FB6C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5000 - store float 0x3FE34C2CE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5000 - store float 0x3FCCE24B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5000 - store float 0x3FE50B44C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5000 - store float 0x3FD9EDD980000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5000 - store float 0x3FE254C980000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5000 - store float 0x3FCB1693A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5000 - store float 0x3FE44EB2C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5000 - store float 0x3FD8871B80000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5000 - store float 0x3FDE99B8E0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5000 - store float 0x3FDBA74BC0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5000 - store float 0x3FDECECD60000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5000 - store float 0x3FE4FBF520000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5000 - store float 0x3FD6B1A340000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5000 - store float 0x3FE3E48120000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5000 - store float 0x3FC2F77C80000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5000 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5000 - store float 0x3FD5C4FCA0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5000 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5000 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5000 - call spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5000 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm14EE6_S_refERA14_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(28) %__t, i64 noundef %__n) #1 comdat align 2 !srcloc !676 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [14 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %__t, i64 0, i64 %__n - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !239 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5003 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5003 - %call1.i = tail call spir_func noundef <4 x half> @_Z15__spirv_ocl_logDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301004EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE739_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5006 - store float 0x3FE8F27A20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5006 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5006 - store float 0x3FE9D360A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5006 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5006 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5006 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5006 - call spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5006 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300506EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300506EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE417_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300809EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300809EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE632_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS1_9half_impl4halfELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300587EE(ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2317, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 16, i1 false), !tbaa.struct !209 - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300587EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300912EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300912EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE691_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm17EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !1476 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16minmagINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !418 - %1 = addrspacecast ptr addrspace(1) %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300583EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm3EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE2_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp8.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5009 - store float 0x3FE712AEC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5009 - store float 0x3FE57D3040000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5009 - store float 0x3FE0026600000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5009 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5009 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5009 - store i32 3239, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !5009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5009 - store i32 -22419, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !5009 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5009 - store i32 -5099, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !5009 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5009 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5009 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5009 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5009 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5009 - store i64 %0, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !5009 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5009 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5009 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5009 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300682EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300682EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE549_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300603EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE470_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !5012 - call spir_func void @_ZN4sycl3_V13logINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi4EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(4) noundef align 2 dereferenceable(2) %arg) #4 comdat align 2 !srcloc !227 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %0 = load i16, ptr addrspace(4) %arg, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16detail10vec_helperINS1_9half_impl4halfEE3getES4_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp) #13 - %call = call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %ref.tmp.ascast) #13 - %conv = fptrunc float %call to half - %splat.splatinsert = insertelement <4 x half> poison, half %conv, i64 0 - %splat.splat = shufflevector <4 x half> %splat.splatinsert, <4 x half> poison, <4 x i32> zeroinitializer - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - store <4 x half> %splat.splat, ptr addrspace(4) %this, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !663 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5015 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !5015 - %call2.i = tail call spir_func noundef <3 x half> @_Z18__spirv_ocl_tgammaDv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15expm1ENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5018 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !466 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1iPiEET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2EPU3AS1i(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5019 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15floorINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1369 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5020 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !432 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16acospiINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300990EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5021 - store float 0x3FD2ACB120000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5021 - store float 0x3FE7B761A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5021 - store float 0x3FE95AD920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5021 - store float 0x3FCEB3C480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5021 - store float 0x3FBDEC5C20000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5021 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5021 - store float 0x3FE69527A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5021 - store float 0x3FE9A103C0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5021 - store float 0x3FCAA1B100000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5021 - store float 0x3FE42BC080000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5021 - store float 0x3FEA20E6A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5021 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5021 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5021 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5021 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5021 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !5021 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5021 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJLm0ELm1ELm2ELm3ELm4ELm5ELm6ELm7ELm8ELm9ELm10ELm11ELm12ELm13ELm14ELm15ELm16EEEERKSt5arrayIiLm17EESt16integer_sequenceImJXspT_EEE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %this, ptr addrspace(4) noundef align 4 dereferenceable(68) %Arr, ptr noundef byval(%class.anon) align 1 %0) #4 comdat align 2 !srcloc !1236 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %call, align 4, !tbaa !126 - store i32 %1, ptr addrspace(4) %this, align 4, !tbaa !126 - %arrayinit.element = getelementptr inbounds i32, ptr addrspace(4) %this, i64 1 - %call2 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 1) #13 - %2 = load i32, ptr addrspace(4) %call2, align 4, !tbaa !126 - store i32 %2, ptr addrspace(4) %arrayinit.element, align 4, !tbaa !126 - %arrayinit.element3 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 2 - %call4 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 2) #13 - %3 = load i32, ptr addrspace(4) %call4, align 4, !tbaa !126 - store i32 %3, ptr addrspace(4) %arrayinit.element3, align 4, !tbaa !126 - %arrayinit.element5 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 3 - %call6 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 3) #13 - %4 = load i32, ptr addrspace(4) %call6, align 4, !tbaa !126 - store i32 %4, ptr addrspace(4) %arrayinit.element5, align 4, !tbaa !126 - %arrayinit.element7 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 4 - %call8 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 4) #13 - %5 = load i32, ptr addrspace(4) %call8, align 4, !tbaa !126 - store i32 %5, ptr addrspace(4) %arrayinit.element7, align 4, !tbaa !126 - %arrayinit.element9 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 5 - %call10 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 5) #13 - %6 = load i32, ptr addrspace(4) %call10, align 4, !tbaa !126 - store i32 %6, ptr addrspace(4) %arrayinit.element9, align 4, !tbaa !126 - %arrayinit.element11 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 6 - %call12 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 6) #13 - %7 = load i32, ptr addrspace(4) %call12, align 4, !tbaa !126 - store i32 %7, ptr addrspace(4) %arrayinit.element11, align 4, !tbaa !126 - %arrayinit.element13 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 7 - %call14 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 7) #13 - %8 = load i32, ptr addrspace(4) %call14, align 4, !tbaa !126 - store i32 %8, ptr addrspace(4) %arrayinit.element13, align 4, !tbaa !126 - %arrayinit.element15 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 8 - %call16 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 8) #13 - %9 = load i32, ptr addrspace(4) %call16, align 4, !tbaa !126 - store i32 %9, ptr addrspace(4) %arrayinit.element15, align 4, !tbaa !126 - %arrayinit.element17 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 9 - %call18 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 9) #13 - %10 = load i32, ptr addrspace(4) %call18, align 4, !tbaa !126 - store i32 %10, ptr addrspace(4) %arrayinit.element17, align 4, !tbaa !126 - %arrayinit.element19 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 10 - %call20 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 10) #13 - %11 = load i32, ptr addrspace(4) %call20, align 4, !tbaa !126 - store i32 %11, ptr addrspace(4) %arrayinit.element19, align 4, !tbaa !126 - %arrayinit.element21 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 11 - %call22 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 11) #13 - %12 = load i32, ptr addrspace(4) %call22, align 4, !tbaa !126 - store i32 %12, ptr addrspace(4) %arrayinit.element21, align 4, !tbaa !126 - %arrayinit.element23 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 12 - %call24 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 12) #13 - %13 = load i32, ptr addrspace(4) %call24, align 4, !tbaa !126 - store i32 %13, ptr addrspace(4) %arrayinit.element23, align 4, !tbaa !126 - %arrayinit.element25 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 13 - %call26 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 13) #13 - %14 = load i32, ptr addrspace(4) %call26, align 4, !tbaa !126 - store i32 %14, ptr addrspace(4) %arrayinit.element25, align 4, !tbaa !126 - %arrayinit.element27 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 14 - %call28 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 14) #13 - %15 = load i32, ptr addrspace(4) %call28, align 4, !tbaa !126 - store i32 %15, ptr addrspace(4) %arrayinit.element27, align 4, !tbaa !126 - %arrayinit.element29 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 15 - %call30 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 15) #13 - %16 = load i32, ptr addrspace(4) %call30, align 4, !tbaa !126 - store i32 %16, ptr addrspace(4) %arrayinit.element29, align 4, !tbaa !126 - %arrayinit.element31 = getelementptr inbounds i32, ptr addrspace(4) %this, i64 16 - %call32 = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %Arr, i64 noundef 16) #13 - %17 = load i32, ptr addrspace(4) %call32, align 4, !tbaa !126 - store i32 %17, ptr addrspace(4) %arrayinit.element31, align 4, !tbaa !126 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5024 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5024 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !5024 - %call2.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp1.i) #13, !noalias !5024 - %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS0i(half noundef %call.i, ptr noundef %call2.i) #14, !noalias !5024 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301012EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE747_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfEJLm0EEJLm0ELm1ELm2EEEESt5arrayIT_XplsZT0_sZT1_EERKS5_IS6_XsZT0_EERKS5_IS6_XsZT1_EESt16integer_sequenceImJXspT0_EEESE_ImJXspT1_EEE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %A1, ptr addrspace(4) noundef align 2 dereferenceable(6) %A2, ptr noundef byval(%class.anon) align 1 %0, ptr noundef byval(%class.anon) align 1 %1) #1 comdat !srcloc !480 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm1EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %A1, i64 noundef 0) #13 - %2 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %agg.result, align 2, !tbaa !99 - %arrayinit.element = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 1 - %call1 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %A2, i64 noundef 0) #13 - %3 = load i16, ptr addrspace(4) %call1, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %arrayinit.element, align 2, !tbaa !99 - %arrayinit.element2 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 2 - %call3 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %A2, i64 noundef 1) #13 - %4 = load i16, ptr addrspace(4) %call3, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %arrayinit.element2, align 2, !tbaa !99 - %arrayinit.element4 = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %agg.result, i64 3 - %call5 = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %A2, i64 noundef 2) #13 - %5 = load i16, ptr addrspace(4) %call5, align 2, !tbaa !99 - store i16 %5, ptr addrspace(4) %arrayinit.element4, align 2, !tbaa !99 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300662EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300662EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE529_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300212EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300212EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE211_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300185EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300185EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE184_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301031EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE766_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH376D, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5027 - call spir_func void @_ZN4sycl3_V13tanENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !510 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301048EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301048EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE783_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiEE6CreateERKiS8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp3 = alloca %"class.sycl::_V1::marray.2202", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp3.ascast = addrspacecast ptr %ref.tmp3 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp3) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiEE6CreateERKiS8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2202") align 4 %ref.tmp3.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm2EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2250") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(8) %ref.tmp3.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp3) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300389EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 2 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp6.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i32, ptr addrspace(4) %this, align 8, !tbaa !69 - store i32 %1, ptr addrspace(4) %call, align 2, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5030 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5030 - store float 0x3FE800A060000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5030 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5030 - store float 0x3FCA17B000000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5030 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5030 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5030 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5030 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5030 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5030 - store float 0x3FEBF68980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5030 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5030 - store float 0x3FDED6C560000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5030 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5030 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5030 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5030 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5030 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5030 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5030 - store i32 %2, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !5030 - %3 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5030 - store i64 %3, ptr %agg.tmp6.i, align 8, !tbaa !128, !noalias !5030 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp6.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5030 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5030 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5030 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i) - %resultPtr = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1748.209, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %5 = load i32, ptr addrspace(4) %call6, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call8, align 2, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301043EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301043EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE778_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %t) #1 comdat !srcloc !1175 { -entry: - %t.addr = alloca <3 x half>, align 8 - %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) - %extractVec = shufflevector <3 x half> %t, <3 x half> poison, <4 x i32> - store <4 x half> %extractVec, ptr %t.addr, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t.addr.ascast) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !655 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !5033 - %call1.i = tail call spir_func noundef <8 x half> @_Z17__spirv_ocl_asinhDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2ILi1ELNS4_4modeE1026ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS5_1EvEENS0_8accessorIS3_XT_EXT0_ELNS4_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !354 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS4_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS3_LNS4_13address_spaceE1EXT_EEEPS3_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS0_6marrayIiLm4EEES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300221EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300221EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE220_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1183 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !4901 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5036 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5036 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5036 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayIiLm2EE22FlattenMArrayArgHelperIiiEEDaRKT0_(ptr addrspace(4) noalias sret(%"struct.std::array.2215") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %A) #1 comdat align 2 !srcloc !454 { -entry: - %0 = load i32, ptr addrspace(4) %A, align 4, !tbaa !126 - store i32 %0, ptr addrspace(4) %agg.result, align 4, !tbaa !126 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE13get_multi_ptrILNS0_6access9decoratedE0EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !66 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(3) noundef %call) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEC2EPU3AS1S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %ptr) #4 comdat align 2 !srcloc !255 { -entry: - store ptr addrspace(1) %ptr, ptr addrspace(4) %this, align 8, !tbaa !1799 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300226EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE225_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5037 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5037 - store float 0x3FEBF85900000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5037 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5037 - store float 0x3FEC650E00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5037 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5037 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5037 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5037 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5037 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5037 - call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5037 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !927 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !5040 - %call1.i = tail call spir_func noundef <8 x half> @_Z18__spirv_ocl_asinpiDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !583 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5043 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5043 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !5043 - %call2.i = tail call spir_func noundef ptr addrspace(3) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEPU3AS3DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSE_stSD_ESE_E4typeESD_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp1.i) #13, !noalias !5043 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS3DF16_(half noundef %call.i, ptr addrspace(3) noundef %call2.i) #14, !noalias !5043 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300631EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300631EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE498_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300889EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE668_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.1972", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !5046 - store <2 x i32> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !5046 - call spir_func void @_ZN4sycl3_V15rootnINS0_3vecINS0_6detail9half_impl4halfELi2EEENS2_IiLi2EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.1972") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !652 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300291EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE290_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp3.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !5049 - store <16 x half> , ptr %agg.tmp2.i, align 32, !tbaa.struct !68, !noalias !5049 - store <16 x half> , ptr %agg.tmp3.i, align 32, !tbaa.struct !68, !noalias !5049 - call spir_func void @_ZN4sycl3_V13fmaINS0_3vecINS0_6detail9half_impl4halfELi16EEES6_S6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_T1_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300193EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE192_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5052 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5052 - store float 0x3FE2E56680000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5052 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5052 - store float 0x3FCDC60C20000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5052 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5052 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5052 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5052 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5052 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5052 - call spir_func void @_ZN4sycl3_V14erfcINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5052 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300206EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300206EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE205_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300924EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300924EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE703_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !280 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5055 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !5055 - %call1.i = tail call spir_func noundef <2 x half> @_Z16__spirv_ocl_ceilDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300775EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300775EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE598_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301001EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE736_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300605EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300605EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE472_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300004EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300004EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE3_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300228EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE227_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5058 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5058 - store float 0x3FD0A7CB20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5058 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5058 - store float 0x3FD721FC00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5058 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5058 - store float 0x3FC861DD20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5058 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5058 - store float 0x3FE79BCCE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5058 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5058 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5058 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5058 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5058 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5058 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !5058 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5058 - call spir_func void @_ZN4sycl3_V14exp2INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5058 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300668EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE535_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store half 0xH3A98, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5061 - store half 0xH3A7D, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5061 - call spir_func void @_ZN4sycl3_V16maxmagENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atanhINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !94 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15atanhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5064 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300493EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300493EiZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE404_EvS5_T1_NS2_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRN4sycl3_V17handlerEE_clESM_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300138EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE137_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5065 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5065 - store float 0x3FDA8032C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5065 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5065 - store float 0x3FD64FA600000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5065 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5065 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5065 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5065 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5065 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5065 - call spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5065 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300078EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300078EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE77_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300266EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE265_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store i64 64116213561460, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5068 - store i64 61715321469069, ptr %agg.tmp2.i, align 8, !tbaa !69, !noalias !5068 - call spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300082EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300082EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE81_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300302EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300302EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE301_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300123EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE122_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 62707478443115, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5071 - call spir_func void @_ZN4sycl3_V14cbrtINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300777EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300777EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE600_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1DF16_E7ConvertINS0_9multi_ptrINS1_9half_impl4halfELNS0_6access13address_spaceE1ELNSA_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat align 2 !srcloc !1567 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - %call1 = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1DF16_PU3AS1NS1_9half_impl4halfEEET_T0_(ptr addrspace(1) noundef %call) #13 - ret ptr addrspace(1) %call1 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE0EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef ptr @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS0iNS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300671EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE538_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5074 - store <4 x half> , ptr %agg.tmp2.i, align 8, !tbaa.struct !199, !noalias !5074 - call spir_func void @_ZN4sycl3_V16maxmagINS0_3vecINS0_6detail9half_impl4halfELi4EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !3558 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !5077 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_sinpiDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300690EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE557_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.195, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5080 - store i16 14797, ptr %multiPtrSourceData.i, align 2, !noalias !5080 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5080 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5080 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !5080 - store half 0xH34D5, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5080 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5080 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !5080 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !5080 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !5080 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !5080 - %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !5080 - store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !5080 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !5080 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5080 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5080 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %4 = load i16, ptr %resArg, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm9EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(18) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm9EE6_S_refERA9_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(18) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300880EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300880EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE659_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi2EEC2IDv2_ivEES4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, <2 x i32> noundef %openclVector) #4 comdat align 2 !srcloc !5083 { -entry: - store <2 x i32> %openclVector, ptr addrspace(4) %this, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300202EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE201_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !5084 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, i64 noundef %Index) #1 comdat align 2 !srcloc !1696 { -entry: - %call = tail call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.2344", ptr addrspace(3) %call, i64 %Index - %arrayidx.ascast = addrspacecast ptr addrspace(3) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14powrINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a1) #2 comdat !srcloc !194 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp6 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp8 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14powrINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call7, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp6, align 2, !tbaa !99 - %call9 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a1.ascast, i64 noundef 2) #13 - %2 = load i16, ptr addrspace(4) %call9, align 2, !tbaa !99 - store i16 %2, ptr %agg.tmp8, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14powrENS0_6detail9half_impl4halfES3_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp6, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp8) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29) #1 comdat align 2 !srcloc !115 { -entry: - %ImmArray = alloca %"struct.std::array.2215", align 4 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp31 = alloca %"struct.std::array.2404", align 4 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp31.ascast = addrspacecast ptr %ref.tmp31 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayIiLm17EE16FlattenMArrayArgIiiEclERKi(ptr addrspace(4) sret(%"struct.std::array.2215") align 4 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %ref.tmp31) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorIiNS0_6marrayIiLm17EE16FlattenMArrayArgEJiiiiiiiiiiiiiiiiEE6CreateERKiS8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_(ptr addrspace(4) sret(%"struct.std::array.2404") align 4 %ref.tmp31.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args1, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args3, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args5, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args7, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args9, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args11, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args13, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args15, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args17, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args19, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args21, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args23, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args25, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args27, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args29) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysIiLm1ELm16EEESt5arrayIT_XplT0_T1_EERKS3_IS4_XT0_EERKS3_IS4_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.2391") align 4 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %ImmArray.ascast, ptr addrspace(4) noundef align 4 dereferenceable(64) %ref.tmp31.ascast) #13 - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp31) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300351EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE350_S4_EvSA_T1_NS7_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESQ_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %multiPtrSourceData.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp3.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp4.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %result = alloca %struct.privatePtrCheck.195, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp4.i) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5087 - store i16 15079, ptr %multiPtrSourceData.i, align 2, !noalias !5087 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5087 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5087 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %res.i) #13, !noalias !5087 - store half 0xH3794, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5087 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5087 - store i64 %0, ptr %agg.tmp2.i, align 8, !tbaa !128, !noalias !5087 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.i) #14, !noalias !5087 - %1 = load i16, ptr %res.i, align 2, !tbaa !99, !noalias !5087 - store i16 %1, ptr %agg.tmp3.i, align 2, !tbaa !99, !noalias !5087 - %2 = load i16, ptr %multiPtrSourceData.i, align 2, !tbaa !99, !noalias !5087 - store i16 %2, ptr %agg.tmp4.i, align 2, !tbaa !99, !noalias !5087 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16detail9half_impl4halfES4_EC2ES4_S4_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp4.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %res.i) #13, !noalias !5087 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5087 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5087 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp3.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp4.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %3 = load i16, ptr %result, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call, align 2, !tbaa !99 - %resArg = getelementptr inbounds %struct.privatePtrCheck.195, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %4 = load i16, ptr %resArg, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call3, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300478EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2422, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300478EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300874EE(ptr noundef byval(%"class.sycl::_V1::marray.2391") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2422, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 68, i1 false), !tbaa.struct !1707 - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300874EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %X, i64 noundef %Start) #1 comdat !srcloc !98 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %X.ascast = addrspacecast ptr %X to ptr addrspace(4) - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %X.ascast, i64 noundef %Start) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %add = add i64 %Start, 1 - %call2 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %X.ascast, i64 noundef %add) #13 - %1 = load i16, ptr addrspace(4) %call2, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp1, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EENSt9enable_ifIXaasr3stdE16is_convertible_vIT_S4_EeqLi2ELi2EES4_E4typeENS7_ILb1ES8_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.result, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a2) #2 comdat !srcloc !883 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - %2 = load i64, ptr %a2, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5090 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5090 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !5090 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !5090 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !5090 - %call4.i = tail call spir_func noundef ptr @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS4_9decoratedE1EEEPU3AS0iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp3.i) #13, !noalias !5090 - %call5.i = tail call spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS0i(half noundef %call.i, half noundef %call2.i, ptr noundef %call4.i) #14, !noalias !5090 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call5.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_3vecINS1_9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !78 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !473 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300807EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300807EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE630_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <2 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.1972") align 8 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <2 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t.ascast) #13 - ret <2 x i32> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300989EE(ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1862.215, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 10, i1 false), !tbaa.struct !190 - %localAccessor = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1862.215, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300989EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300387EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE362_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %agg.tmp6.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %result = alloca %struct.privatePtrCheck.1740.208, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5093 - store float 0x3FEA1BEC60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5093 - store float 0x3FD4C09480000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5093 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5093 - store float 0x3FE5094760000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5093 - store float 0x3FD15C1480000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5093 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5093 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5093 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5093 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %res.i) #13, !noalias !5093 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5093 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5093 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5093 - store i64 %1, ptr %agg.tmp5.i, align 8, !tbaa !128, !noalias !5093 - call spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp5.i) #14, !noalias !5093 - %2 = load i32, ptr %res.i, align 4, !tbaa !69, !noalias !5093 - store i32 %2, ptr %agg.tmp6.i, align 4, !tbaa !69, !noalias !5093 - %3 = load i32, ptr %multiPtrSourceData.i, align 4, !tbaa !69, !noalias !5093 - store i32 %3, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !5093 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp6.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %res.i) #13, !noalias !5093 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5093 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp5.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp6.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %4 = load i32, ptr %result, align 4, !tbaa !69 - store i32 %4, ptr addrspace(4) %call, align 2, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1740.208, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %5 = load i32, ptr %resArg, align 2, !tbaa !69 - store i32 %5, ptr addrspace(4) %call3, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !4947 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300326EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300326EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE325_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300210EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300210EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE209_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300865EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300865EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE652_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !576 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3815 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !5096 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !5097 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !5096 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fdimINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a1) #2 comdat !srcloc !685 { -entry: - %agg.tmp13 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - %agg.tmp1.sroa.0.0.copyload = load <8 x half>, ptr %a1, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp13) - store <8 x half> %agg.tmp1.sroa.0.0.copyload, ptr %agg.tmp13, align 16 - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp2, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2) #13, !noalias !5098 - %call2.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp13) #13, !noalias !5098 - %call3.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_fdimDv8_DF16_S_(<8 x half> noundef %call.i, <8 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp13) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !1108 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16tgammaINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !396 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V16tgammaENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5101 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !436 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5102 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5102 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !5102 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !5102 - %call3.i = tail call spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS1i(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !5102 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300578EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE461_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2260.232, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5105 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5105 - store float 0x3FCC8720E0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5105 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5105 - store float 0x3FDF06CBC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5105 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5105 - store float 0x3FE280CA20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5105 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5105 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5105 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5105 - store i32 17997, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !5105 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5105 - store i32 -2509, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !5105 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5105 - store i32 1898, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !5105 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5105 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5105 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5105 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5105 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5105 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !5105 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !5105 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5105 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13erfINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1569 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13erfINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5108 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300420EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5109 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5109 - store half 0xH31B7, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5109 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5109 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !5109 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5109 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300195EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300195EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE194_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300159EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE158_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !5112 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300580EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm3EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp4.i = alloca i32, align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call, ptr addrspace(4) noundef align 8 dereferenceable(12) %this, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5115 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5115 - store float 0x3FEB465E20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5115 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5115 - store float 0x3FE6ECEAC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5115 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5115 - store float 0x3FE2C4D580000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5115 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5115 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5115 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5115 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5115 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5115 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5115 - store i32 18073, ptr %ref.tmp4.i, align 4, !tbaa !126, !noalias !5115 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5115 - store i32 -1268, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !5115 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5115 - store i32 27608, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !5115 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5115 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5115 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5115 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5115 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5115 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5115 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5115 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !5115 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5115 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5115 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5115 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2270, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(12) %call8, ptr addrspace(4) noundef align 4 dereferenceable(12) %call6, i64 12, i1 false), !tbaa.struct !1142 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm3EEEPS6_EET_T0_(ptr addrspace(4) noundef %from) #2 comdat !srcloc !141 { -entry: - %call = tail call spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %from) #14 - ret ptr %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm3EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300112EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300112EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE111_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14coshINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !2115 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5118 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5118 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_coshDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300001EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300001EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE0_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2ENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !5121 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5122 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5122 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !5122 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !5122 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_atan2DF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300303EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300303EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE302_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !469 { -entry: - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - ret ptr addrspace(1) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16acospiENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !5125 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5126 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5126 - %call1.i = tail call spir_func noundef half @_Z18__spirv_ocl_acospiDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300103EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE102_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !5129 - call spir_func void @_ZN4sycl3_V16atanpiINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !924 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3868 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::local_accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !727 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V114local_accessorINS0_6marrayIiLm17EEELi1EE13get_multi_ptrILNS0_6access9decoratedE1EEENS0_9multi_ptrIS3_LNS6_13address_spaceE3EXT_EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2EPU3AS3S3_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(3) noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300044EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300044EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE43_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V13cosENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5132 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300516EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE427_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 58721757313184, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5133 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i, i32 noundef -7156) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300574EE(ptr noundef byval(%"class.sycl::_V1::marray.2202") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2223, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - %0 = load i64, ptr %_arg_arg, align 4, !tbaa !69 - store i64 %0, ptr %__SYCLKernel, align 8, !tbaa !69 - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %1 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %1, ptr %agg.tmp, align 8 - %2 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %2, ptr %agg.tmp11, align 8 - %3 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %3, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %4 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %4, ptr %agg.tmp14, align 8 - %5 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %5, ptr %agg.tmp15, align 8 - %6 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %6, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %7 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %7, ptr %agg.tmp18, align 8 - %8 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %8, ptr %agg.tmp19, align 8 - %9 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %9, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300574EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE1_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300868EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2344", align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %ref.tmp13.i = alloca i32, align 4 - %ref.tmp14.i = alloca i32, align 4 - %ref.tmp15.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp18.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call, ptr addrspace(4) noundef align 8 dereferenceable(20) %this, i64 20, i1 false), !tbaa.struct !191 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp18.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5136 - store float 0x3FD2B06220000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5136 - store float 0x3FE3631340000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5136 - store float 0x3FE0788940000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5136 - store float 0x3FEB9A97A0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5136 - store float 0x3FD97D9C40000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5136 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5136 - store float 0x3FE90A65C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5136 - store float 0x3FE9D8CCA0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5136 - store float 0x3FE75CAD20000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5136 - store float 0x3FE531DE40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5136 - store float 0x3FE126ED00000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5136 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5136 - store i32 -23934, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5136 - store i32 6505, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5136 - store i32 -14778, ptr %ref.tmp13.i, align 4, !tbaa !126, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5136 - store i32 15240, ptr %ref.tmp14.i, align 4, !tbaa !126, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5136 - store i32 -1988, ptr %ref.tmp15.i, align 4, !tbaa !126, !noalias !5136 - call spir_func void @_ZN4sycl3_V16marrayIiLm5EEC2IJiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5136 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5136 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5136 - %1 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !5136 - store i64 %1, ptr %agg.tmp18.i, align 8, !tbaa !128, !noalias !5136 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp18.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_1.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5136 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp18.i) - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(20) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(20) %call8, ptr addrspace(4) noundef align 4 dereferenceable(20) %call6, i64 20, i1 false), !tbaa.struct !191 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301061EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE796_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5139 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5139 - store float 0x3FE99181C0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5139 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5139 - store float 0x3FD252F000000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5139 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5139 - store float 0x3FCD8076E0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5139 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5139 - store float 0x3FE80D0FE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5139 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5139 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5139 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5139 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5139 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5139 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !5139 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5139 - call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5139 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15roundINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0) #2 comdat !srcloc !235 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5142 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !5142 - %call1.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_roundDv2_DF16_(<2 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300227EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300227EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE226_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !991 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm17EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !5145 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <16 x i32> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecIiLi16EEEDv16_iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr noundef byval(%"class.sycl::_V1::vec.2156") align 64 %t) #1 comdat !srcloc !84 { -entry: - %t.ascast = addrspacecast ptr %t to ptr addrspace(4) - %call = call spir_func noundef <16 x i32> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv16_iNS0_3vecIiLi16EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) noundef align 64 dereferenceable(64) %t.ascast) #13 - ret <16 x i32> %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15rsqrtINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !1860 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !5146 - %call1.i = tail call spir_func noundef <16 x half> @_Z17__spirv_ocl_rsqrtDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_iNS0_3vecIiLi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS8_stS7_ES8_E4typeES7_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, <2 x i32> noundef %t) #1 comdat !srcloc !84 { -entry: - %t.addr = alloca <2 x i32>, align 8 - %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) - store <2 x i32> %t, ptr %t.addr, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecIiLi2EEEDv2_iEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS7_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.1972") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t.addr.ascast) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300687EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE554_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp9.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5149 - store float 0x3FE5660C20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5149 - store float 0x3FE9B91720000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5149 - store float 0x3FDD4A0040000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5149 - store float 0x3FBC8EB980000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5149 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5149 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5149 - store float 0x3FE7755520000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5149 - store float 0x3FCD7E56A0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5149 - store float 0x3FDFDA10E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5149 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5149 - store float 0x3FD1422800000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5149 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5149 - %0 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !5149 - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5149 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !5149 - store i64 %1, ptr %agg.tmp9.i, align 8, !tbaa !69, !noalias !5149 - call spir_func void @_ZN4sycl3_V16minmagINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5149 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(8) %call, ptr addrspace(4) noundef align 2 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300975EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE726_S6_EvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp7.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.1778.210, align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp7.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5152 - store float 0x3FE6E338A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5152 - store float 0x3FCE56D6C0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5152 - store float 0x3FEAF38160000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5152 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5152 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5152 - store float 0x3FD14076E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5152 - store float 0x3FE4521080000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5152 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5152 - store float 0x3FC3C0E4C0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5152 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5152 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5152 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_1.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5152 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5152 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5152 - store i64 %0, ptr %agg.tmp7.i, align 8, !tbaa !128, !noalias !5152 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE0ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp7.i) #14, !noalias !5152 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEES6_EC2ES6_S6_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5152 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp7.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.1778.210, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call3, ptr align 2 %resArg, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi16EEC2IDv16_DF16_vEES7_(ptr addrspace(4) noundef align 32 dereferenceable_or_null(32) %this, <16 x half> noundef %openclVector) #4 comdat align 2 !srcloc !109 { -entry: - store <16 x half> %openclVector, ptr addrspace(4) %this, align 32, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300067EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300067EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE66_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) noalias sret(%union.anon) align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfEPS4_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr addrspace(1) noundef %call) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat align 2 !srcloc !5155 { -entry: - tail call spir_func void @_ZN4sycl3_V15rangeILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, i64 noundef 0) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300259EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE258_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5156 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5156 - store float 0x3FE33FF320000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5156 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5156 - store float 0x3FE1A09060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5156 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5156 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5156 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5156 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5156 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5156 - call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5156 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %t) #1 comdat !srcloc !1175 { -entry: - %t.addr = alloca <4 x half>, align 8 - %t.addr.ascast = addrspacecast ptr %t.addr to ptr addrspace(4) - store <4 x half> %t, ptr %t.addr, align 8, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail20ConvertNonVectorTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr addrspace(4) noundef align 8 dereferenceable(8) %t.addr.ascast) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301040EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301040EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE775_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15hypotINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a1) #2 comdat !srcloc !376 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %0 = load i32, ptr %a0, align 4, !tbaa !69 - %1 = load i32, ptr %a1, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5159 - %call.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !5159 - store i32 %1, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !5159 - %call2.i = tail call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !5159 - %call3.i = tail call spir_func noundef <2 x half> @_Z17__spirv_ocl_hypotDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300130EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE129_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5162 - store float 0x3FD17C6D60000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5162 - store float 0x3FDCAED380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5162 - store float 0x3FD8BB3D00000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5162 - store float 0x3FCEEB0F20000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5162 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5162 - store float 0x3FD73C3860000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5162 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5162 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5162 - call spir_func void @_ZN4sycl3_V14cbrtINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5162 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2ILi1ELNS5_4modeE1026ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS6_1EvEENS0_8accessorIS4_XT_EXT0_ELNS5_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr noundef byval(%"class.sycl::_V1::accessor") align 8 %Accessor) #4 comdat align 2 !srcloc !503 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Accessor.ascast = addrspacecast ptr %Accessor to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE13get_multi_ptrILNS5_9decoratedE1EEENSt11conditionalILb1ENS0_9multi_ptrIS4_LNS5_13address_spaceE1EXT_EEEPS4_E4typeEv(ptr addrspace(4) sret(%union.anon) align 8 %ref.tmp.ascast, ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %Accessor.ascast) #13 - %call = call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %ref.tmp.ascast) #13 - %call2 = call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail7cast_ASIPU3AS1NS1_9half_impl4halfES6_EET_T0_(ptr addrspace(1) noundef %call) #13 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEC2EPU3AS1S4_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, ptr addrspace(1) noundef %call2) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %this, i64 noundef %I) #1 comdat align 2 !srcloc !1487 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !3339 - %TotalOffset = getelementptr inbounds %class.anon.3, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5165 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %0, i64 0, i32 2 - %conv = trunc i64 %I to i32 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %MemRange, i32 noundef %conv) #13 - %mul = mul i64 %2, %call - %3 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5165 - store i64 %mul, ptr addrspace(4) %3, align 8, !tbaa !340 - %call5 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %0, i32 noundef %conv) #13 - %4 = load ptr addrspace(4), ptr addrspace(4) %TotalOffset, align 8, !tbaa !5165 - %5 = load i64, ptr addrspace(4) %4, align 8, !tbaa !340 - %add = add i64 %5, %call5 - store i64 %add, ptr addrspace(4) %4, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_Z41__SYCL_GenericCastToPtrExplicit_ToPrivateIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEEPU3AS0T_Pv(ptr addrspace(4) noundef %Ptr) #2 comdat !srcloc !723 { -entry: - %call = tail call spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef %Ptr, i32 noundef 7) #15 - ret ptr %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300256EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE255_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5166 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(24) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300850EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm2EEELi1EEEE4_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2202", align 4 - %ref.tmp5.i = alloca i32, align 4 - %ref.tmp6.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp7.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp8.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp9.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i64, ptr addrspace(4) %this, align 8, !tbaa !69 - store i64 %1, ptr addrspace(4) %call, align 4, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp9.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5169 - store float 0x3FE1ECDF20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5169 - store float 0x3FBCE431A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5169 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !5169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5169 - store float 0x3FDBC0FCC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5169 - store float 0x3FC1AB7080000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5169 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5169 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5169 - store i32 -14914, ptr %ref.tmp5.i, align 4, !tbaa !126, !noalias !5169 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5169 - store i32 30053, ptr %ref.tmp6.i, align 4, !tbaa !126, !noalias !5169 - call spir_func void @_ZN4sycl3_V16marrayIiLm2EEC2IJiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5169 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5169 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5169 - %2 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5169 - store i32 %2, ptr %agg.tmp7.i, align 4, !tbaa !69, !noalias !5169 - %3 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !5169 - store i32 %3, ptr %agg.tmp8.i, align 4, !tbaa !69, !noalias !5169 - %4 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !5169 - store i64 %4, ptr %agg.tmp9.i, align 8, !tbaa !128, !noalias !5169 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_NS0_9multi_ptrINS2_IiLm2EEELNS0_6access13address_spaceE3ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp7.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp8.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp9.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5169 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp7.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp8.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp9.i) - %resultPtr = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %5 = load i32, ptr %ref.tmp, align 4, !tbaa !69 - store i32 %5, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2223, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %6 = load i64, ptr addrspace(4) %call6, align 4, !tbaa !69 - store i64 %6, ptr addrspace(4) %call8, align 4, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15acoshINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !402 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V15acoshENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15acoshINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5172 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300748EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp12.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp12.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5173 - store float 0x3FE0A6E5A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5173 - store float 0x3FEA18EDE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5173 - store float 0x3FC540DB40000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5173 - store float 0x3FE76AFBC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5173 - store float 0x3FE9BD5A80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5173 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5173 - store float 0x3FE7671080000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5173 - store float 0x3FC8F10180000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5173 - store float 0x3FE0656320000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5173 - store float 0x3FC9D66880000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5173 - store float 0x3FE43D2A20000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5173 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5173 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5173 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEC2ILi1ELNS7_4modeE1026ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS8_1EvEENS0_8accessorIS6_XT_EXT0_ELNS7_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5173 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5173 - store i64 %0, ptr %agg.tmp12.i, align 8, !tbaa !128, !noalias !5173 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp12.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5173 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp12.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 2 %ref.tmp, i64 10, i1 false), !tbaa.struct !190 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !596 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !5176 - %call1.i = tail call spir_func noundef <16 x half> @_Z15__spirv_ocl_cosDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNKSt5arrayIN4sycl3_V16detail9half_impl4halfELm6EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(12) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !392 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNSt14__array_traitsIN4sycl3_V16detail9half_impl4halfELm6EE6_S_refERA6_KS4_m(ptr addrspace(4) noundef align 2 dereferenceable(12) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !2540 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !4384 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2413 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300472EE(ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.2364, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 4 %_arg_arg, i64 20, i1 false), !tbaa.struct !191 - %localAccessor = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2364, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm5EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300472EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm5EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(121) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300734EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE1_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5179 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5179 - store float 0x3FD3315B20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5179 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5179 - store float 0x3FE7F50640000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5179 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5179 - store float 0x3FC2452980000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5179 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5179 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5179 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5179 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5179 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5179 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5179 - store float 0x3FE8179360000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5179 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5179 - store float 0x3FD7990260000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5179 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5179 - store float 0x3FE4A51320000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5179 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5179 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5179 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5179 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5179 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5179 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5179 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5179 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !5179 - call spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5179 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5179 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5179 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !371 { -entry: - %TotalOffset = alloca i64, align 8 - %ref.tmp = alloca %class.anon.3, align 8 - %TotalOffset.ascast = addrspacecast ptr %TotalOffset to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %TotalOffset) #13 - store i64 0, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !4165 - %TotalOffset2 = getelementptr inbounds %class.anon.3, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %TotalOffset.ascast, ptr %TotalOffset2, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %TotalOffset, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %TotalOffset) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300783EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE606_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.2156", align 64 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %agg.tmp2.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !5182 - store <16 x i32> , ptr %agg.tmp2.i, align 64, !tbaa.struct !689, !noalias !5182 - call spir_func void @_ZN4sycl3_V14pownINS0_3vecINS0_6detail9half_impl4halfELi16EEENS2_IiLi16EEEEENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS9_fdS5_Esr6detailE15is_valid_size_vIS9_Li1ELi2ELi3ELi4ELi8ELi16EEaaaasr6detailE19is_vec_or_swizzle_vIT0_Esr6detailE20is_valid_elem_type_vISA_iiEsr6detailE15is_valid_size_vISA_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS9_E4typeEE4typeES9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2156") align 64 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300688EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300688EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE555_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300908EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300908EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE687_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %this, i64 noundef %index) #1 comdat align 2 !srcloc !395 !sycl_used_aspects !63 { -entry: - %arrayidx = getelementptr inbounds [5 x %"class.sycl::_V1::detail::half_impl::half"], ptr addrspace(4) %this, i64 0, i64 %index - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::vec.16.3", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.2") align 4 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !223 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1.ascast = addrspacecast ptr %agg.tmp1 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %0 = load i32, ptr %a0, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V13vecINS0_6detail9half_impl4halfELi2EEC2IS4_EERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 4 dereferenceable_or_null(4) %agg.tmp1.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %a1.ascast) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp1.i) - %agg.tmp13.sroa.0.0.copyload = load i32, ptr %agg.tmp1, align 4 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5185 - %call.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #13, !noalias !5185 - store i32 %agg.tmp13.sroa.0.0.copyload, ptr %agg.tmp1.i, align 4, !tbaa !69, !noalias !5185 - %call2.i = call spir_func noundef <2 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi2EEEDv2_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp1.i) #13, !noalias !5185 - %call3.i = call spir_func noundef <2 x half> @_Z16__spirv_ocl_fmaxDv2_DF16_S_(<2 x half> noundef %call.i, <2 x half> noundef %call2.i) #15 - call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv2_DF16_NS0_3vecINS1_9half_impl4halfELi2EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.result, <2 x half> noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300540EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIiLi1ELNS1_6access4modeE1026ELNSC_6targetE2014ELNSC_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESN_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES10_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !60 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %union.anon, align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %union.anon, align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %this, i64 0, i32 2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp3, ptr addrspace(4) noundef align 8 dereferenceable(32) %globalAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5188 - call spir_func void @_ZN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEC2ILi1ELNS2_4modeE1026ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEELS3_1EvEENS0_8accessorIiXT_EXT0_ELNS2_6targetE2014EXT1_ET2_EE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::accessor") align 8 %agg.tmp3) #13, !noalias !5188 - store half 0xH37F0, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5188 - %0 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5188 - store i64 %0, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !5188 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5188 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp3) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm4EEENS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr") align 8 %a1) #2 comdat !srcloc !101 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V18lgamma_rINS0_9multi_ptrIiLNS0_6access13address_spaceE0ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !5191 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301012EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE747_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5192 - call spir_func void @_ZN4sycl3_V15sinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300203EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300203EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE202_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300409EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 2 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300409EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorIS6_Li1ELNS1_6access4modeE1026ELNSE_6targetE2014ELNSE_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESP_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES12_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300533EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300533EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE444_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef half @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS6_(ptr addrspace(4) noundef align 2 dereferenceable(2) %t) #1 comdat !srcloc !971 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef float @_ZNK4sycl3_V16detail9half_impl4halfcvfEv(ptr addrspace(4) noundef align 2 dereferenceable_or_null(2) %t) #13 - %conv = fptrunc float %call to half - ret half %conv -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301059EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301059EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE794_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS1_9half_impl4halfELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300995EE(ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1900.217, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 34, i1 false), !tbaa.struct !401 - %localAccessor = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1900.217, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300995EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE4_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(137) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 4 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !329 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !470 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300010EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300010EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE9_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE9getOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !222 { -entry: - ret ptr addrspace(4) %this -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !394 !sycl_used_aspects !63 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !5195 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5196 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5196 - %call1.i = tail call spir_func noundef half @_Z17__spirv_ocl_asinhDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15frexpINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS3_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_S8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !847 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %union.anon, align 8 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i64, ptr %a1, align 8, !tbaa !128 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5199 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5199 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !128, !noalias !5199 - %call2.i = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail17convertDataToTypeINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS4_9decoratedE1EEEPU3AS1iEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSC_stSB_ESC_E4typeESB_(ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp1.i) #13, !noalias !5199 - %call3.i = tail call spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS1i(half noundef %call.i, ptr addrspace(1) noundef %call2.i) #14, !noalias !5199 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300861EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm4EEELi1EEEE3_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(113) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2297", align 4 - %ref.tmp9.i = alloca i32, align 4 - %ref.tmp10.i = alloca i32, align 4 - %ref.tmp11.i = alloca i32, align 4 - %ref.tmp12.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp13.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp14.i = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp15.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.91.10", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 1 - %call = tail call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call, ptr addrspace(4) noundef align 8 dereferenceable(16) %this, i64 16, i1 false), !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp15.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5202 - store float 0x3FBD276D20000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5202 - store float 0x3FD4B0A740000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5202 - store float 0x3FBF22FA20000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5202 - store float 0x3FBB5982C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5202 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5202 - store float 0x3FCFED6860000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5202 - store float 0x3FD0669CC0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5202 - store float 0x3FE38BD440000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5202 - store float 0x3FE007CA80000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5202 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2IJffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5202 - store i32 21321, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5202 - store i32 -30237, ptr %ref.tmp10.i, align 4, !tbaa !126, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5202 - store i32 -18367, ptr %ref.tmp11.i, align 4, !tbaa !126, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5202 - store i32 14035, ptr %ref.tmp12.i, align 4, !tbaa !126, !noalias !5202 - call spir_func void @_ZN4sycl3_V16marrayIiLm4EEC2IJiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5202 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5202 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_2.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5202 - %1 = load i64, ptr %inputData_0.i, align 8, !tbaa !69, !noalias !5202 - store i64 %1, ptr %agg.tmp13.i, align 8, !tbaa !69, !noalias !5202 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !69, !noalias !5202 - store i64 %2, ptr %agg.tmp14.i, align 8, !tbaa !69, !noalias !5202 - %3 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !5202 - store i64 %3, ptr %agg.tmp15.i, align 8, !tbaa !128, !noalias !5202 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.91.10") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp13.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp14.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp15.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_0.i) #13, !noalias !5202 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp13.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp14.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp15.i) - %resultPtr = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %4 = load i64, ptr %ref.tmp, align 8, !tbaa !69 - store i64 %4, ptr addrspace(4) %call4, align 2, !tbaa !69 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2317, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(16) %call8, ptr addrspace(4) noundef align 4 dereferenceable(16) %call6, i64 16, i1 false), !tbaa.struct !209 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301079EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE814_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !5205 - call spir_func void @_ZN4sycl3_V15truncINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301051EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE786_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.105.11", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.105.11", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5208 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5208 - store float 0x3FECA25900000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5208 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5208 - store float 0x3FD4ADCA40000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5208 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5208 - store float 0x3FE07D7EE0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5208 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5208 - store float 0x3FE6D0DEE0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5208 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5208 - store float 0x3FDF374500000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5208 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2IJfffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i) #13, !noalias !5208 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5208 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5208 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5208 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5208 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5208 - call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.105.11") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %inputData_0.i) #13, !noalias !5208 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm5EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(10) %call, ptr addrspace(4) noundef align 2 dereferenceable(10) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300038EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300038EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE37_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14asinINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !165 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14asinENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14asinINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5211 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !2216 { -entry: - %MData = getelementptr inbounds %"class.sycl::_V1::local_accessor_base", ptr addrspace(4) %this, i64 0, i32 1 - %0 = load ptr addrspace(3), ptr addrspace(4) %MData, align 8, !tbaa !3621 - ret ptr addrspace(3) %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !556 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14ceilINS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0) #2 comdat !srcloc !467 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm3EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V14ceilINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 0) #13 - %0 = load i32, ptr %PartialRes, align 4 - store i32 %0, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef 2) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14ceilENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef 2) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.7", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !5212 -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEENS2_IiLm5EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2344") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %this, ptr align 2 %res_t, i64 10, i1 false), !tbaa.struct !190 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2354.236, ptr addrspace(4) %this, i64 0, i32 1 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %resArg, ptr align 4 %resArg_t, i64 20, i1 false), !tbaa.struct !191 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300353EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS4_Li1EEEE0_S4_EvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %1 = load i16, ptr addrspace(4) %this, align 8, !tbaa !99 - store i16 %1, ptr addrspace(4) %call, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5213 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEC2ILi1ELS6_3EvEENS0_14local_accessorIS4_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5213 - store half 0xH30F2, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5213 - %2 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5213 - store i64 %2, ptr %agg.tmp3.i, align 8, !tbaa !128, !noalias !5213 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp3.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5213 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) - %resultPtr = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - %3 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %3, ptr addrspace(4) %call4, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEixILi1EvEERS4_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1520.196, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - %4 = load i16, ptr addrspace(4) %call6, align 2, !tbaa !99 - store i16 %4, ptr addrspace(4) %call8, align 2, !tbaa !99 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_11placeholderE0EE6__initEPU3AS3S7_NS0_5rangeILi1EEESF_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %this) #4 comdat align 2 !srcloc !155 !sycl_used_aspects !63 { -entry: - br label %arrayinit.body - -arrayinit.body: ; preds = %arrayinit.body, %entry - %arrayinit.cur.idx = phi i64 [ 0, %entry ], [ %arrayinit.cur.add, %arrayinit.body ] - %arrayinit.cur.ptr = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %arrayinit.cur.idx - store i16 0, ptr addrspace(4) %arrayinit.cur.ptr, align 2 - %arrayinit.cur.add = add nuw nsw i64 %arrayinit.cur.idx, 1 - %arrayinit.done = icmp eq i64 %arrayinit.cur.add, 3 - br i1 %arrayinit.done, label %arrayinit.end2, label %arrayinit.body - -arrayinit.end2: ; preds = %arrayinit.body - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300244EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE243_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 63699630306970, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5216 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300258EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300258EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE257_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300136EE(ptr addrspace(1) noundef align 16 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300136EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE135_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(3) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !351 { -entry: - %0 = load ptr addrspace(3), ptr addrspace(4) %this, align 8, !tbaa !3026 - ret ptr addrspace(3) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300647EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300647EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE514_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300054EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300054EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE53_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Id) #1 comdat align 2 !srcloc !766 { -entry: - %Result = alloca i64, align 8 - %ref.tmp = alloca %class.anon.4, align 8 - %Result.ascast = addrspacecast ptr %Result to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %Id.ascast = addrspacecast ptr %Id to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %Result) #13 - store i64 0, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3116 - %Result2 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Result.ascast, ptr %Result2, align 8, !tbaa !128 - %Id3 = getelementptr inbounds %class.anon.4, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %Id.ascast, ptr %Id3, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(24) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - %0 = load i64, ptr %Result, align 8, !tbaa !340 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %Result) #13 - ret i64 %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301031EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301031EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE766_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301059EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE794_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5219 - store float 0x3FEC2F4500000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5219 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5219 - store float 0x3FC61694A0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5219 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5219 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5219 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5219 - call spir_func void @_ZN4sycl3_V15tanpiINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5219 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEENS2_IiLm4EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(24) %this, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %res_t, ptr noundef byval(%"class.sycl::_V1::marray.2297") align 4 %resArg_t) #4 comdat align 2 !srcloc !323 !sycl_used_aspects !63 { -entry: - %0 = load i64, ptr %res_t, align 2, !tbaa !69 - store i64 %0, ptr addrspace(4) %this, align 4, !tbaa !69 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2307.234, ptr addrspace(4) %this, i64 0, i32 1 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %resArg, ptr align 4 %resArg_t, i64 16, i1 false), !tbaa.struct !209 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm5EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0) #2 comdat !srcloc !2629 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef 4) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14fabsENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef 4) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm5EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14fabsINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5222 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300110EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300110EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE109_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300331EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE330_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp2.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp2.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5223 - store half 0xH3AE9, ptr %agg.tmp2.i, align 2, !tbaa.struct !119, !noalias !5223 - call spir_func void @_ZN4sycl3_V14fminINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_NS3_13get_elem_typeIS8_E4typeE(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300296EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE295_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp18.i = alloca float, align 4 - %ref.tmp19.i = alloca float, align 4 - %ref.tmp20.i = alloca float, align 4 - %ref.tmp21.i = alloca float, align 4 - %ref.tmp22.i = alloca float, align 4 - %ref.tmp23.i = alloca float, align 4 - %ref.tmp24.i = alloca float, align 4 - %ref.tmp25.i = alloca float, align 4 - %ref.tmp26.i = alloca float, align 4 - %ref.tmp27.i = alloca float, align 4 - %ref.tmp28.i = alloca float, align 4 - %ref.tmp29.i = alloca float, align 4 - %ref.tmp30.i = alloca float, align 4 - %ref.tmp31.i = alloca float, align 4 - %ref.tmp32.i = alloca float, align 4 - %ref.tmp33.i = alloca float, align 4 - %ref.tmp34.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp35.i = alloca float, align 4 - %ref.tmp36.i = alloca float, align 4 - %ref.tmp37.i = alloca float, align 4 - %ref.tmp38.i = alloca float, align 4 - %ref.tmp39.i = alloca float, align 4 - %ref.tmp40.i = alloca float, align 4 - %ref.tmp41.i = alloca float, align 4 - %ref.tmp42.i = alloca float, align 4 - %ref.tmp43.i = alloca float, align 4 - %ref.tmp44.i = alloca float, align 4 - %ref.tmp45.i = alloca float, align 4 - %ref.tmp46.i = alloca float, align 4 - %ref.tmp47.i = alloca float, align 4 - %ref.tmp48.i = alloca float, align 4 - %ref.tmp49.i = alloca float, align 4 - %ref.tmp50.i = alloca float, align 4 - %ref.tmp51.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp35.ascast.i = addrspacecast ptr %ref.tmp35.i to ptr addrspace(4) - %ref.tmp36.ascast.i = addrspacecast ptr %ref.tmp36.i to ptr addrspace(4) - %ref.tmp37.ascast.i = addrspacecast ptr %ref.tmp37.i to ptr addrspace(4) - %ref.tmp38.ascast.i = addrspacecast ptr %ref.tmp38.i to ptr addrspace(4) - %ref.tmp39.ascast.i = addrspacecast ptr %ref.tmp39.i to ptr addrspace(4) - %ref.tmp40.ascast.i = addrspacecast ptr %ref.tmp40.i to ptr addrspace(4) - %ref.tmp41.ascast.i = addrspacecast ptr %ref.tmp41.i to ptr addrspace(4) - %ref.tmp42.ascast.i = addrspacecast ptr %ref.tmp42.i to ptr addrspace(4) - %ref.tmp43.ascast.i = addrspacecast ptr %ref.tmp43.i to ptr addrspace(4) - %ref.tmp44.ascast.i = addrspacecast ptr %ref.tmp44.i to ptr addrspace(4) - %ref.tmp45.ascast.i = addrspacecast ptr %ref.tmp45.i to ptr addrspace(4) - %ref.tmp46.ascast.i = addrspacecast ptr %ref.tmp46.i to ptr addrspace(4) - %ref.tmp47.ascast.i = addrspacecast ptr %ref.tmp47.i to ptr addrspace(4) - %ref.tmp48.ascast.i = addrspacecast ptr %ref.tmp48.i to ptr addrspace(4) - %ref.tmp49.ascast.i = addrspacecast ptr %ref.tmp49.i to ptr addrspace(4) - %ref.tmp50.ascast.i = addrspacecast ptr %ref.tmp50.i to ptr addrspace(4) - %ref.tmp51.ascast.i = addrspacecast ptr %ref.tmp51.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5226 - store float 0x3FEBA978A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5226 - store float 0x3FE877D200000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5226 - store float 0x3FE1F5AFA0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5226 - store float 0x3FD522C2E0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5226 - store float 0x3FD356CAE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5226 - store float 0x3FDB0A6AE0000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5226 - store float 0x3FBB711E40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5226 - store float 0x3FE37DA4C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5226 - store float 0x3FC21427C0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5226 - store float 0x3FE702B7A0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5226 - store float 0x3FC3FC1900000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5226 - store float 0x3FBBB339A0000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5226 - store float 0x3FD4F974C0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5226 - store float 0x3FE6FB1D60000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5226 - store float 0x3FE883F860000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5226 - store float 0x3FE02FDC00000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5226 - store float 0x3FEB386CE0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5226 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !5226 - store float 0x3FC886CB80000000, ptr %ref.tmp18.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !5226 - store float 0x3FD768DDC0000000, ptr %ref.tmp19.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !5226 - store float 0x3FE6272080000000, ptr %ref.tmp20.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !5226 - store float 0x3FD6F43800000000, ptr %ref.tmp21.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !5226 - store float 0x3FCBAF5840000000, ptr %ref.tmp22.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !5226 - store float 0x3FE2018B80000000, ptr %ref.tmp23.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !5226 - store float 0x3FC33523C0000000, ptr %ref.tmp24.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !5226 - store float 0x3FD97F9B20000000, ptr %ref.tmp25.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !5226 - store float 0x3FD365E880000000, ptr %ref.tmp26.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !5226 - store float 0x3FD7638800000000, ptr %ref.tmp27.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !5226 - store float 0x3FDF3DC7C0000000, ptr %ref.tmp28.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !5226 - store float 0x3FE0E9FAC0000000, ptr %ref.tmp29.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !5226 - store float 0x3FC5702E20000000, ptr %ref.tmp30.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !5226 - store float 0x3FD68E1700000000, ptr %ref.tmp31.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !5226 - store float 0x3FDA0B9700000000, ptr %ref.tmp32.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !5226 - store float 0x3FDB0C9760000000, ptr %ref.tmp33.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !5226 - store float 0x3FDEFA51C0000000, ptr %ref.tmp34.i, align 4, !tbaa !82, !noalias !5226 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_2.i) #13, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !5226 - store float 0x3FDC3463C0000000, ptr %ref.tmp35.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !5226 - store float 0x3FC4616380000000, ptr %ref.tmp36.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !5226 - store float 0x3FD1A121A0000000, ptr %ref.tmp37.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !5226 - store float 0x3FE3B197C0000000, ptr %ref.tmp38.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !5226 - store float 0x3FE86A9680000000, ptr %ref.tmp39.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !5226 - store float 0x3FE04AFA20000000, ptr %ref.tmp40.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !5226 - store float 0x3FCBF98180000000, ptr %ref.tmp41.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !5226 - store float 0x3FC4040CE0000000, ptr %ref.tmp42.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !5226 - store float 0x3FCCC37900000000, ptr %ref.tmp43.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !5226 - store float 0x3FDA102EC0000000, ptr %ref.tmp44.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !5226 - store float 0x3FE1AB5640000000, ptr %ref.tmp45.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !5226 - store float 0x3FE43479E0000000, ptr %ref.tmp46.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !5226 - store float 0x3FE09FA420000000, ptr %ref.tmp47.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !5226 - store float 0x3FE1ABE380000000, ptr %ref.tmp48.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !5226 - store float 0x3FD86F31A0000000, ptr %ref.tmp49.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !5226 - store float 0x3FE43D4180000000, ptr %ref.tmp50.i, align 4, !tbaa !82, !noalias !5226 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !5226 - store float 0x3FE5CEC060000000, ptr %ref.tmp51.i, align 4, !tbaa !82, !noalias !5226 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp35.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp36.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp37.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp38.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp39.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp40.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp41.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp42.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp43.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp44.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp45.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp46.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp47.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp48.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp49.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp50.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp51.ascast.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp51.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp50.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp49.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp48.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp47.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp46.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp45.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp44.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp43.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp42.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp41.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp40.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp39.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp38.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp37.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp36.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) #13, !noalias !5226 - call spir_func void @_ZN4sycl3_V13fmaINS0_6marrayINS0_6detail9half_impl4halfELm17EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_2.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_2.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_1.i) #13, !noalias !5226 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5226 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.105.11") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.105.11") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 5 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(10) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm5EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(10) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !5229 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16asinpiINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !927 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5230 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5230 - %call1.i = tail call spir_func noundef <4 x half> @_Z18__spirv_ocl_asinpiDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300453EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300453EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE384_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300452EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300452EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE383_NS2_IiLm2EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !853 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300590EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg6) #0 comdat !srcloc !75 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !76 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1513, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_resultPtrArg4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_resultPtrArg5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_resultPtrArg6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300590EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE465_NS2_IiLm5EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !715 { -entry: - %MemRange = getelementptr inbounds %"class.sycl::_V1::detail::AccessorImplDevice", ptr addrspace(4) %this, i64 0, i32 2 - ret ptr addrspace(4) %MemRange -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15ldexpINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_i(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, i32 noundef %a1) #2 comdat !srcloc !271 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V15ldexpINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_i(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, i32 noundef %a1) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef nonnull align 2 dereferenceable(8) ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3459 - ret ptr %0 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJffEE6CreateERKfSA_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #1 comdat align 2 !srcloc !182 !sycl_used_aspects !63 { -entry: - %ImmArray = alloca %"struct.std::array.76.8", align 2 - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp1 = alloca %"struct.std::array.76.8", align 2 - %ImmArray.ascast = addrspacecast ptr %ImmArray to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %ref.tmp1.ascast = addrspacecast ptr %ref.tmp1 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ImmArray) #13 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZNK4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EE16FlattenMArrayArgIS4_fEclERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ImmArray.ascast, ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Arg) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call spir_func void @_ZN4sycl3_V16detail12ArrayCreatorINS1_9half_impl4halfENS0_6marrayIS4_Lm4EE16FlattenMArrayArgEJfEE6CreateERKf(ptr addrspace(4) sret(%"struct.std::array.76.8") align 2 %ref.tmp1.ascast, ptr addrspace(4) noundef align 4 dereferenceable(4) %Args) #13 - call spir_func void @_ZN4sycl3_V16detail12ConcatArraysINS1_9half_impl4halfELm1ELm1EEESt5arrayIT_XplT0_T1_EERKS5_IS6_XT0_EERKS5_IS6_XT1_EE(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr addrspace(4) noundef align 2 dereferenceable(2) %ImmArray.ascast, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp1.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp1) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ImmArray) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V19remainderINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a1) #2 comdat !srcloc !248 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp2 = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp3 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - %1 = load i32, ptr %a1, align 2, !tbaa !69 - store i32 %1, ptr %agg.tmp3, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp3, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V19remainderINS0_3vecINS0_6detail9half_impl4halfELi2EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp2) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300878EE(ptr addrspace(1) noundef align 4 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300878EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE657_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300456EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3, ptr addrspace(1) noundef align 4 %_arg_globalAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_globalAccessor6) #0 comdat !srcloc !60 !kernel_arg_buffer_location !61 !kernel_arg_runtime_aligned !62 !kernel_arg_exclusive_ptr !62 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !65 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1535, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp8 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp13 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %globalAccessor = getelementptr inbounds %class.anon.1535, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp8, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp9, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp8, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp9) #13 - %3 = load i64, ptr %_arg_globalAccessor4, align 8 - store i64 %3, ptr %agg.tmp11, align 8 - %4 = load i64, ptr %_arg_globalAccessor5, align 8 - store i64 %4, ptr %agg.tmp12, align 8 - %5 = load i64, ptr %_arg_globalAccessor6, align 8 - store i64 %5, ptr %agg.tmp13, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %globalAccessor, ptr addrspace(1) noundef %_arg_globalAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp13) #13 - call spir_func void @_ZZZ31check_function_multi_ptr_globalILi4300456EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_8accessorINS2_IiLm2EEELi1ELNS1_6access4modeE1026ELNSF_6targetE2014ELNSF_11placeholderE0ENS1_3ext6oneapi22accessor_property_listIJEEEEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESQ_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clES13_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !505 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNKS0_8accessorINS0_6marrayINS1_9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm4EEES6_NS0_9multi_ptrINS2_IiLm4EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a1, ptr noundef byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %a2) #2 comdat !srcloc !111 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp5 = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp5.ascast = addrspacecast ptr %agg.tmp5 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - %a2.ascast = addrspacecast ptr %a2 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 4 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %a1.ascast, i64 noundef %conv) #13 - %1 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %1, ptr %agg.tmp2, align 2, !tbaa !99 - %call6 = call spir_func noundef align 4 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a2.ascast) #13 - %call8 = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm4EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(16) %call6, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE3ELNS2_9decoratedE0EiEENS0_9multi_ptrIT1_XT_EXT0_EEEPS6_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5.ascast, ptr addrspace(4) noundef %call8) #14 - call spir_func void @_ZN4sycl3_V16remquoINS0_9multi_ptrIiLNS0_6access13address_spaceE3ELNS3_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vIS8_Esr6detailE20is_valid_elem_type_vIS8_iEENS0_6detail9half_impl4halfEE4typeESB_SB_S8_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp5) #14 - %call10 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %conv) #13 - %2 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %2, ptr addrspace(4) %call10, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !5233 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300121EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE120_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3631, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5234 - call spir_func void @_ZN4sycl3_V14cbrtENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300478EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorINS2_IiLm17EEELi1EEEE_SE_EvSC_T1_T2_NS9_9resultRefIT0_EESI_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESV_ENKUlNS1_7nd_itemILi1EEEE_clESY_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(169) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2391", align 4 - %ref.tmp18.i = alloca i32, align 4 - %ref.tmp19.i = alloca i32, align 4 - %ref.tmp20.i = alloca i32, align 4 - %ref.tmp21.i = alloca i32, align 4 - %ref.tmp22.i = alloca i32, align 4 - %ref.tmp23.i = alloca i32, align 4 - %ref.tmp24.i = alloca i32, align 4 - %ref.tmp25.i = alloca i32, align 4 - %ref.tmp26.i = alloca i32, align 4 - %ref.tmp27.i = alloca i32, align 4 - %ref.tmp28.i = alloca i32, align 4 - %ref.tmp29.i = alloca i32, align 4 - %ref.tmp30.i = alloca i32, align 4 - %ref.tmp31.i = alloca i32, align 4 - %ref.tmp32.i = alloca i32, align 4 - %ref.tmp33.i = alloca i32, align 4 - %ref.tmp34.i = alloca i32, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp36.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call, ptr addrspace(4) noundef align 8 dereferenceable(68) %this, i64 68, i1 false), !tbaa.struct !1707 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp36.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp18.ascast.i = addrspacecast ptr %ref.tmp18.i to ptr addrspace(4) - %ref.tmp19.ascast.i = addrspacecast ptr %ref.tmp19.i to ptr addrspace(4) - %ref.tmp20.ascast.i = addrspacecast ptr %ref.tmp20.i to ptr addrspace(4) - %ref.tmp21.ascast.i = addrspacecast ptr %ref.tmp21.i to ptr addrspace(4) - %ref.tmp22.ascast.i = addrspacecast ptr %ref.tmp22.i to ptr addrspace(4) - %ref.tmp23.ascast.i = addrspacecast ptr %ref.tmp23.i to ptr addrspace(4) - %ref.tmp24.ascast.i = addrspacecast ptr %ref.tmp24.i to ptr addrspace(4) - %ref.tmp25.ascast.i = addrspacecast ptr %ref.tmp25.i to ptr addrspace(4) - %ref.tmp26.ascast.i = addrspacecast ptr %ref.tmp26.i to ptr addrspace(4) - %ref.tmp27.ascast.i = addrspacecast ptr %ref.tmp27.i to ptr addrspace(4) - %ref.tmp28.ascast.i = addrspacecast ptr %ref.tmp28.i to ptr addrspace(4) - %ref.tmp29.ascast.i = addrspacecast ptr %ref.tmp29.i to ptr addrspace(4) - %ref.tmp30.ascast.i = addrspacecast ptr %ref.tmp30.i to ptr addrspace(4) - %ref.tmp31.ascast.i = addrspacecast ptr %ref.tmp31.i to ptr addrspace(4) - %ref.tmp32.ascast.i = addrspacecast ptr %ref.tmp32.i to ptr addrspace(4) - %ref.tmp33.ascast.i = addrspacecast ptr %ref.tmp33.i to ptr addrspace(4) - %ref.tmp34.ascast.i = addrspacecast ptr %ref.tmp34.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5237 - store float 0x3FD1002660000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5237 - store float 0x3FD5A7A860000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5237 - store float 0x3FD15C1AC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5237 - store float 0x3FEB0D3CA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5237 - store float 0x3FD0E5C100000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5237 - store float 0x3FD2742100000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5237 - store float 0x3FE503B280000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5237 - store float 0x3FEC0D2EE0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5237 - store float 0x3FE385AE20000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5237 - store float 0x3FD5680180000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5237 - store float 0x3FE811A5E0000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5237 - store float 0x3FCCCF0A80000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5237 - store float 0x3FE3D0AAE0000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5237 - store float 0x3FDFB2CE40000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5237 - store float 0x3FE6732460000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5237 - store float 0x3FDF4717E0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5237 - store float 0x3FE31B3260000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5237 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !5237 - store i32 -32369, ptr %ref.tmp18.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !5237 - store i32 7555, ptr %ref.tmp19.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !5237 - store i32 25333, ptr %ref.tmp20.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !5237 - store i32 2317, ptr %ref.tmp21.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !5237 - store i32 -6879, ptr %ref.tmp22.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !5237 - store i32 -14370, ptr %ref.tmp23.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !5237 - store i32 11903, ptr %ref.tmp24.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !5237 - store i32 7206, ptr %ref.tmp25.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !5237 - store i32 -14960, ptr %ref.tmp26.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !5237 - store i32 -8524, ptr %ref.tmp27.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !5237 - store i32 9654, ptr %ref.tmp28.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !5237 - store i32 20110, ptr %ref.tmp29.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !5237 - store i32 6009, ptr %ref.tmp30.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !5237 - store i32 13119, ptr %ref.tmp31.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !5237 - store i32 26336, ptr %ref.tmp32.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !5237 - store i32 30382, ptr %ref.tmp33.i, align 4, !tbaa !126, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !5237 - store i32 21578, ptr %ref.tmp34.i, align 4, !tbaa !126, !noalias !5237 - call spir_func void @_ZN4sycl3_V16marrayIiLm17EEC2IJiiiiiiiiiiiiiiiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(68) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp18.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp19.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp20.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp21.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp22.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp23.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp24.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp25.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp26.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp27.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp28.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp29.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp30.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp31.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp32.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp33.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp34.ascast.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp34.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp33.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp32.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp31.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp30.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp29.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp28.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp27.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp26.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp25.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp24.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp23.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp22.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp21.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp20.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp19.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp18.i) #13, !noalias !5237 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5237 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEC2ILi1ELS5_3EvEENS0_14local_accessorIS3_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5237 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5237 - store i64 %1, ptr %agg.tmp36.i, align 8, !tbaa !128, !noalias !5237 - call spir_func void @_ZN4sycl3_V15frexpINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrINS2_IiLm17EEELNS0_6access13address_spaceE3ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp36.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 68, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5237 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp36.i) - %resultPtr = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 34, i1 false), !tbaa.struct !401 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEixILi1EvEERS3_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.2422, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 4 dereferenceable(68) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 4 dereferenceable(68) %call8, ptr addrspace(4) noundef align 4 dereferenceable(68) %call6, i64 68, i1 false), !tbaa.struct !1707 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN7__spirv14initGlobalSizeILi1EN4sycl3_V15rangeILi1EEEEET0_v(ptr addrspace(4) noalias sret(%"class.sycl::_V1::range") align 8 %agg.result) #1 comdat !srcloc !5240 { -entry: - tail call spir_func void @_ZN7__spirv21InitSizesSTGlobalSizeILi1EN4sycl3_V15rangeILi1EEEE8initSizeEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, i64 noundef %I) #1 comdat align 2 !srcloc !3015 { -entry: - %0 = load ptr addrspace(4), ptr addrspace(4) %this, align 8, !tbaa !925 - %Result = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 1 - %1 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !5241 - %2 = load i64, ptr addrspace(4) %1, align 8, !tbaa !340 - %call = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getMemoryRangeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %0) #13 - %conv = trunc i64 %I to i32 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %call, i32 noundef %conv) #13 - %mul = mul i64 %2, %call2 - %Id = getelementptr inbounds %class.anon.4, ptr addrspace(4) %this, i64 0, i32 2 - %3 = load ptr addrspace(4), ptr addrspace(4) %Id, align 8, !tbaa !5242 - %call4 = tail call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZN4sycl3_V16detail5arrayILi1EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %3, i32 noundef %conv) #13 - %4 = load i64, ptr addrspace(4) %call4, align 8, !tbaa !340 - %add = add i64 %mul, %4 - %5 = load ptr addrspace(4), ptr addrspace(4) %Result, align 8, !tbaa !5241 - store i64 %add, ptr addrspace(4) %5, align 8, !tbaa !340 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE1ENS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPSB_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::multi_ptr") align 8 %agg.result, ptr addrspace(4) noundef %pointer) #2 comdat !srcloc !575 { -entry: - %call = tail call spir_func noundef ptr @_ZN4sycl3_V16detail7cast_ASIPU3AS0NS0_6marrayINS1_9half_impl4halfELm17EEEPS6_EET_T0_(ptr addrspace(4) noundef %pointer) #14 - tail call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEC2EPU3AS0S6_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.result, ptr noundef %call) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13cosINS0_6marrayINS0_6detail9half_impl4halfELm2EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0) #2 comdat !srcloc !2921 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.7", align 4 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %0 = load i32, ptr %a0, align 2, !tbaa !69 - store i32 %0, ptr %agg.tmp1, align 4, !tbaa !69 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm2EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp1, i64 noundef 0) #13 - call spir_func void @_ZN4sycl3_V13cosINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef 0) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300108EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300108EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE107_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300602EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300602EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE469_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300044EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE43_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS4_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store half 0xH3A94, ptr %agg.tmp.i, align 2, !tbaa.struct !119, !noalias !5243 - call spir_func void @_ZN4sycl3_V15asinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16detail9half_impl4halfES5_EENSt9enable_ifIXaant24has_subscript_and_size_vIT_Ent24has_subscript_and_size_vIT0_EEvE4typeERS7_RKS8_(ptr addrspace(4) noundef align 2 dereferenceable(2) %call, ptr addrspace(4) noundef align 2 dereferenceable(2) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300002EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300002EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE1_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ30check_function_multi_ptr_localILi4300976EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE3_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %this, ptr noundef byval(%"class.sycl::_V1::nd_item") align 8 %0) #2 comdat align 2 !srcloc !85 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp8.i = alloca %"class.sycl::_V1::multi_ptr.1527", align 8 - %agg.tmp9 = alloca %"class.sycl::_V1::local_accessor", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp7 = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - %agg.tmp7.ascast = addrspacecast ptr %agg.tmp7 to ptr addrspace(4) - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 2 - %call = tail call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - tail call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 8 dereferenceable(6) %this, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp8.i) - call void @llvm.memcpy.p0.p4.i64(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp9, ptr addrspace(4) noundef align 8 dereferenceable(32) %localAccessor, i64 32, i1 false) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5246 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5246 - store float 0x3FC30E1BC0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5246 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5246 - store float 0x3FBE698380000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5246 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5246 - store float 0x3FE277CFC0000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5246 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5246 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5246 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5246 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5246 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5246 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5246 - store float 0x3FD8ABE240000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5246 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5246 - store float 0x3FDF300EE0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5246 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5246 - store float 0x3FE9852580000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5246 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5246 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5246 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5246 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5246 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5246 - call spir_func void @_ZN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEC2ILi1ELS8_3EvEENS0_14local_accessorIS6_XT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %inputData_1.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::local_accessor") align 8 %agg.tmp9) #13, !noalias !5246 - %1 = load i64, ptr %inputData_1.i, align 8, !tbaa !128, !noalias !5246 - store i64 %1, ptr %agg.tmp8.i, align 8, !tbaa !128, !noalias !5246 - call spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE3ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr.1527") align 8 %agg.tmp8.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_1.i) #13, !noalias !5246 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5246 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5246 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp9) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp8.i) - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp3.ascast, i64 noundef 0) #13 - %call4 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call4, ptr align 2 %ref.tmp, i64 6, i1 false), !tbaa.struct !206 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - %call6 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEixILi1EvEERS6_m(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, i64 noundef 0) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %this, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp7.ascast, i64 noundef 0) #13 - %call8 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp7) #13 - call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noundef align 2 dereferenceable(6) %call8, ptr addrspace(4) noundef align 2 dereferenceable(6) %call6, i64 6, i1 false), !tbaa.struct !206 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300604EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300604EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE471_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300278EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE277_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5249 - call spir_func void @_ZN4sycl3_V15floorINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm11EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(44) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm11EE6_S_refERA11_Kim(ptr addrspace(4) noundef align 4 dereferenceable(44) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14modfINS0_6marrayINS0_6detail9half_impl4halfELm17EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !228 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 17 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V14modfINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !5252 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_6marrayINS0_6detail9half_impl4halfELm4EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.91.10") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.91.10") align 2 %a0) #2 comdat !srcloc !1551 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp1 = alloca %"class.sycl::_V1::marray.91.10", align 8 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result) #13 - %0 = load i64, ptr %a0, align 2, !tbaa !69 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - store i64 %0, ptr %agg.tmp1, align 8, !tbaa !69 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm4EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.91.10") align 2 %agg.tmp1, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm4EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(8) %agg.result, i64 noundef %mul) #13 - %1 = load i32, ptr %PartialRes, align 4 - store i32 %1, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5253 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300210EN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE209_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - store <2 x half> , ptr %agg.tmp.i, align 4, !tbaa.struct !90, !noalias !5254 - call spir_func void @_ZN4sycl3_V13expINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 4 dereferenceable(4) %call, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !3925 - %1 = addrspacecast ptr %0 to ptr addrspace(4) - ret ptr addrspace(4) %1 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.52.6") align 32 %a0) #2 comdat !srcloc !2273 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.sroa.0.0.copyload = load <16 x half>, ptr %a0, align 32, !tbaa.struct !68 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp1) - store <16 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 32 - %call.i = tail call spir_func noundef <16 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi16EEEDv16_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp1) #13, !noalias !5257 - %call1.i = tail call spir_func noundef <16 x half> @_Z16__spirv_ocl_sinhDv16_DF16_(<16 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv16_DF16_NS0_3vecINS1_9half_impl4halfELi16EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %agg.result, <16 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300151EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300151EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE150_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !130 { -entry: - %0 = load ptr addrspace(1), ptr addrspace(4) %this, align 8, !tbaa !1756 - ret ptr addrspace(1) %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301014EE(ptr addrspace(1) noundef align 32 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301014EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE749_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300395EE(ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %_arg_arg, ptr addrspace(3) noundef align 2 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 2 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1786.211, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__SYCLKernel, ptr align 2 %_arg_arg, i64 6, i1 false), !tbaa.struct !206 - %localAccessor = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1786.211, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1EE6__initEPU3AS3S6_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300395EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIS6_Li1EEEE0_S6_EvSC_T1_T2_NS9_9resultRefIT0_EESH_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESU_ENKUlNS1_7nd_itemILi1EEEE_clESX_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300629EN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE496_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.52.6", align 32 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 32 dereferenceable(32) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) - store <16 x half> , ptr %agg.tmp.i, align 32, !tbaa.struct !68, !noalias !5260 - call spir_func void @_ZN4sycl3_V15log10INS0_3vecINS0_6detail9half_impl4halfELi16EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.52.6") align 32 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.52.6") align 32 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi16EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 32 dereferenceable(32) %call, ptr addrspace(4) noundef align 32 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301044EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE779_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 58760277080710, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5263 - call spir_func void @_ZN4sycl3_V14tanhINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm2EEELi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !1062 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::AccessorImplDevice", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEC2ENS0_5rangeILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 8 %this, ptr align 8 %ref.tmp, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300620EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE487_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5266 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5266 - store float 0x3FBF2196A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5266 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5266 - store float 0x3FD8F76860000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5266 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5266 - store float 0x3FE8343920000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5266 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5266 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5266 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5266 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5266 - call spir_func void @_ZN4sycl3_V14log2INS0_6marrayINS0_6detail9half_impl4halfELm3EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5266 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm2EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(8) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm2EE6_S_refERA2_Kim(ptr addrspace(4) noundef align 4 dereferenceable(8) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13vecIiLi3EEC2IiEERKNSt9enable_ifILb1ET_E4typeE(ptr addrspace(4) noundef align 16 dereferenceable_or_null(16) %this, ptr addrspace(4) noundef align 4 dereferenceable(4) %arg) #4 comdat align 2 !srcloc !193 { -entry: - %0 = load i32, ptr addrspace(4) %arg, align 4, !tbaa !126 - %call = tail call spir_func noundef i32 @_ZN4sycl3_V16detail10vec_helperIiE3getEi(i32 noundef %0) #13 - %splat.splatinsert = insertelement <3 x i32> poison, i32 %call, i64 0 - %extractVec = shufflevector <3 x i32> %splat.splatinsert, <3 x i32> poison, <4 x i32> - store <4 x i32> %extractVec, ptr addrspace(4) %this, align 16, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300674EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300674EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE541_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301052EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE787_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5269 - store float 0x3FE55D4720000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5269 - store float 0x3FD0C86100000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5269 - store float 0x3FC51A6840000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5269 - store float 0x3FC1F8E740000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5269 - store float 0x3FE18E8580000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5269 - store float 0x3FE2425C60000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5269 - store float 0x3FBC9EEB40000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5269 - store float 0x3FE524B1C0000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5269 - store float 0x3FE9D26E60000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5269 - store float 0x3FE307CCE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5269 - store float 0x3FE2C38060000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5269 - store float 0x3FEC2F3880000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5269 - store float 0x3FDE9C7780000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5269 - store float 0x3FEA6D6E80000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5269 - store float 0x3FE2B15FA0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5269 - store float 0x3FD1C220C0000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5269 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5269 - store float 0x3FE89C8A00000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5269 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5269 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5269 - call spir_func void @_ZN4sycl3_V14tanhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5269 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE18getPointerAdjustedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #1 comdat align 2 !srcloc !939 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %call2 = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %idx.neg = sub i64 0, %call2 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.2297", ptr addrspace(1) %call, i64 %idx.neg - ret ptr addrspace(1) %add.ptr -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300042EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300042EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE41_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail20ConvertNonVectorTypeIPU3AS1iNS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEvEET_RT0_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !502 { -entry: - %call = tail call spir_func noundef ptr addrspace(1) @_ZN4sycl3_V16detail16PointerConverterIPU3AS1iE7ConvertINS0_9multi_ptrIiLNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEES4_RT_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #13 - ret ptr addrspace(1) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15fractINS0_6marrayINS0_6detail9half_impl4halfELm3EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.77.9") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.77.9") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !143 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 3 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %call3, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE0ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V15fractINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !5272 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300345EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm2EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE344_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.7", align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %agg.tmp.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp5.i = alloca %"class.sycl::_V1::marray.7", align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.7", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %agg.tmp5.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5273 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5273 - store float 0x3FE5C0B520000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5273 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5273 - store float 0x3FD6660060000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5273 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i) #13, !noalias !5273 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5273 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5273 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !5273 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5273 - store float 0x3FC8947420000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5273 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5273 - store float 0x3FE71F1680000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5273 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2IJffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i) #13, !noalias !5273 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5273 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5273 - %0 = load i32, ptr %inputData_0.i, align 4, !tbaa !69, !noalias !5273 - store i32 %0, ptr %agg.tmp.i, align 4, !tbaa !69, !noalias !5273 - %1 = load i32, ptr %inputData_1.i, align 4, !tbaa !69, !noalias !5273 - store i32 %1, ptr %agg.tmp5.i, align 4, !tbaa !69, !noalias !5273 - call spir_func void @_ZN4sycl3_V14fmodINS0_6marrayINS0_6detail9half_impl4halfELm2EEES6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_EES8_E4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.7") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.7") align 2 %agg.tmp5.i) #14 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_1.i) #13, !noalias !5273 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %inputData_0.i) #13, !noalias !5273 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %agg.tmp5.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm2EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(4) %call, ptr addrspace(4) noundef align 2 dereferenceable(4) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300299EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300299EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE298_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(1) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %MemRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Offset) #1 comdat align 2 !srcloc !172 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %class.anon.2, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %AccessRange.ascast = addrspacecast ptr %AccessRange to ptr addrspace(4) - %MemRange.ascast = addrspacecast ptr %MemRange to ptr addrspace(4) - %Offset.ascast = addrspacecast ptr %Offset to ptr addrspace(4) - %0 = getelementptr inbounds %"class.sycl::_V1::accessor", ptr addrspace(4) %this, i64 0, i32 1 - store ptr addrspace(1) %Ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp) #13 - store ptr addrspace(4) %this, ptr %ref.tmp, align 8, !tbaa !3969 - %Offset2 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 1 - store ptr addrspace(4) %Offset.ascast, ptr %Offset2, align 8, !tbaa !128 - %AccessRange3 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 2 - store ptr addrspace(4) %AccessRange.ascast, ptr %AccessRange3, align 8, !tbaa !128 - %MemRange4 = getelementptr inbounds %class.anon.2, ptr %ref.tmp, i64 0, i32 3 - store ptr addrspace(4) %MemRange.ascast, ptr %MemRange4, align 8, !tbaa !128 - call spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayINS1_9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS8_6targetE2014ELNS8_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S7_NS0_5rangeILi1EEESK_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %1 = load ptr addrspace(1), ptr addrspace(4) %0, align 8, !tbaa !69 - %add.ptr = getelementptr inbounds %"class.sycl::_V1::marray.91.10", ptr addrspace(1) %1, i64 %call - store ptr addrspace(1) %add.ptr, ptr addrspace(4) %0, align 8, !tbaa !69 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300528EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE439_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.28.4", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store <4 x half> , ptr %agg.tmp.i, align 8, !tbaa.struct !199, !noalias !5276 - call spir_func void @_ZN4sycl3_V16lgammaINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi4EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300664EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE531_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5279 - store float 0x3FC51B04A0000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5279 - store float 0x3FE8707FE0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5279 - store float 0x3FD3ED9200000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5279 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5279 - store float 0x3FD10DCFA0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5279 - store float 0x3FE4AE3040000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5279 - store float 0x3FDC79F820000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5279 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_2.i) #13, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5279 - store float 0x3FE66998A0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5279 - store float 0x3FC6384300000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5279 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5279 - store float 0x3FE33C3BC0000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5279 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5279 - call spir_func void @_ZN4sycl3_V13madINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_S6_EENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE24check_all_same_op_type_vIS8_T0_T1_EES8_E4typeES8_S9_SA_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_2.i) #14 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_2.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !5279 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5279 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(6) %call, ptr addrspace(4) noundef align 2 dereferenceable(6) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300418EE(i32 noundef %_arg_arg, ptr addrspace(3) noundef align 4 %_arg_localAccessor, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_localAccessor3, ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr4, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr5, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr6, ptr addrspace(1) noundef align 4 %_arg_resultPtrArg, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg7, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg8, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtrArg9) #3 comdat !srcloc !85 !kernel_arg_buffer_location !86 !kernel_arg_runtime_aligned !87 !kernel_arg_exclusive_ptr !87 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !88 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.1945, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp11 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp12 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp14 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp15 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp16 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp18 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp19 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp20 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp21 = alloca %"class.sycl::_V1::nd_item", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - %agg.tmp21.ascast = addrspacecast ptr %agg.tmp21 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - store i32 %_arg_arg, ptr %__SYCLKernel, align 8, !tbaa !805 - %localAccessor = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor) #13 - %resultPtr = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 3 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr) #13 - %resultPtrArg = getelementptr inbounds %class.anon.1945, ptr addrspace(4) %__SYCLKernel.ascast, i64 0, i32 4 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg) #13 - %0 = load i64, ptr %_arg_localAccessor1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_localAccessor2, align 8 - store i64 %1, ptr %agg.tmp11, align 8 - %2 = load i64, ptr %_arg_localAccessor3, align 8 - store i64 %2, ptr %agg.tmp12, align 8 - call spir_func void @_ZN4sycl3_V114local_accessorIiLi1EE6__initEPU3AS3iNS0_5rangeILi1EEES6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %localAccessor, ptr addrspace(3) noundef %_arg_localAccessor, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp11, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp12) #13 - %3 = load i64, ptr %_arg_resultPtr4, align 8 - store i64 %3, ptr %agg.tmp14, align 8 - %4 = load i64, ptr %_arg_resultPtr5, align 8 - store i64 %4, ptr %agg.tmp15, align 8 - %5 = load i64, ptr %_arg_resultPtr6, align 8 - store i64 %5, ptr %agg.tmp16, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp14, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp15, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp16) #13 - %6 = load i64, ptr %_arg_resultPtrArg7, align 8 - store i64 %6, ptr %agg.tmp18, align 8 - %7 = load i64, ptr %_arg_resultPtrArg8, align 8 - store i64 %7, ptr %agg.tmp19, align 8 - %8 = load i64, ptr %_arg_resultPtrArg9, align 8 - store i64 %8, ptr %agg.tmp20, align 8 - call spir_func void @_ZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr addrspace(1) noundef %_arg_resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp18, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp19, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp20) #13 - %call = call spir_func noundef ptr addrspace(4) @_ZN4sycl3_V16detail7declptrINS0_7nd_itemILi1EEEEEPT_v() #13 - call spir_func void @_ZN4sycl3_V16detail7Builder10getElementILi1EEEKNS0_7nd_itemIXT_EEEPS5_(ptr addrspace(4) sret(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21.ascast, ptr addrspace(4) noundef %call) #13 - call spir_func void @_ZZZ30check_function_multi_ptr_localILi4300418EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_ENKUlNS1_7nd_itemILi1EEEE_clESV_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(105) %__SYCLKernel.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::nd_item") align 8 %agg.tmp21) #14 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #4 comdat align 2 !srcloc !272 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %agg.tmp3.ascast = addrspacecast ptr %agg.tmp3 to ptr addrspace(4) - store i64 0, ptr %agg.tmp, align 8 - call spir_func void @_ZN4sycl3_V12idILi1EEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp2.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail14InitializedValILi1ENS0_5rangeEE3getILi0EEENS3_ILi1EEEv(ptr addrspace(4) sret(%"class.sycl::_V1::range") align 8 %agg.tmp3.ascast) #13 - call spir_func void @_ZN4sycl3_V16detail18AccessorImplDeviceILi1EEC2ENS0_2idILi1EEENS0_5rangeILi1EEES7_(ptr addrspace(4) noundef align 8 dereferenceable_or_null(24) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sinhINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.119.12") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.119.12") align 2 %a0) #2 comdat !srcloc !728 !sycl_used_aspects !63 { -entry: - %PartialRes = alloca %"class.sycl::_V1::vec.2", align 4 - %agg.tmp = alloca %"class.sycl::_V1::vec.2", align 4 - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp3 = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %PartialRes.ascast = addrspacecast ptr %PartialRes to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i64 %I.0, 8 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call4 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %a0.ascast, i64 noundef 16) #13 - %0 = load i16, ptr addrspace(4) %call4, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp3, align 2, !tbaa !99 - call spir_func void @_ZN4sycl3_V14sinhENS0_6detail9half_impl4halfE(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp3) #14 - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef 16) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call5, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - ret void - -for.body: ; preds = %for.cond - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %PartialRes) #13 - %mul = shl nuw nsw i64 %I.0, 1 - call spir_func void @_ZN4sycl3_V16detail7to_vec2INS1_9half_impl4halfELm17EEENS0_3vecIT_Li2EEENS0_6marrayIS6_XT0_EEEm(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %agg.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %a0, i64 noundef %mul) #13 - call spir_func void @_ZN4sycl3_V14sinhINS0_3vecINS0_6detail9half_impl4halfELi2EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.2") align 4 %PartialRes.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.2") align 4 %agg.tmp) #14 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %agg.result, i64 noundef %mul) #13 - %2 = load i32, ptr %PartialRes, align 4 - store i32 %2, ptr addrspace(4) %call, align 2 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %PartialRes) #13 - %inc = add nuw nsw i64 %I.0, 1 - br label %for.cond, !llvm.loop !5282 -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail4loopILm1EZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvOT0_(ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #1 comdat !srcloc !234 { -entry: - %agg.tmp = alloca %class.anon, align 1 - tail call spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_8accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS6_6targetE2014ELNS6_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S5_NS0_5rangeILi1EEESI_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef nonnull byval(%class.anon) align 1 %agg.tmp, ptr addrspace(4) noundef align 8 dereferenceable(32) %f) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300216EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300216EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE215_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301030EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301030EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE765_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15expm1INS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0) #2 comdat !srcloc !488 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5283 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !5283 - %call2.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_expm1Dv3_DF16_(<3 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call2.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16sincosINS0_6marrayINS0_6detail9half_impl4halfELm2EEENS0_9multi_ptrIS6_LNS0_6access13address_spaceE1ELNS8_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISD_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISE_Esr6detailE20is_valid_elem_type_vISE_NS3_19simplify_if_swizzleISD_E4typeEEESD_E4typeESD_SE_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::marray.7") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::marray.7") align 2 %a0, ptr noundef byval(%union.anon) align 8 %a1) #2 comdat !srcloc !506 !sycl_used_aspects !63 { -entry: - %ref.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp2 = alloca %union.anon, align 8 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - %a0.ascast = addrspacecast ptr %a0 to ptr addrspace(4) - %a1.ascast = addrspacecast ptr %a1 to ptr addrspace(4) - tail call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEC2Ev(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result) #13 - br label %for.cond - -for.cond: ; preds = %for.body, %entry - %I.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - %cmp = icmp ult i32 %I.0, 2 - br i1 %cmp, label %for.body, label %for.cond.cleanup - -for.cond.cleanup: ; preds = %for.cond - ret void - -for.body: ; preds = %for.cond - %conv = zext i32 %I.0 to i64 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %a0.ascast, i64 noundef %conv) #13 - %0 = load i16, ptr addrspace(4) %call, align 2, !tbaa !99 - store i16 %0, ptr %agg.tmp, align 2, !tbaa !99 - %call3 = call spir_func noundef align 2 dereferenceable(4) ptr addrspace(1) @_ZNK4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEdeEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %a1.ascast) #13 - %call3.ascast = addrspacecast ptr addrspace(1) %call3 to ptr addrspace(4) - %call5 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %call3.ascast, i64 noundef %conv) #13 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE1ELNS2_9decoratedE1ENS0_6detail9half_impl4halfEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS9_(ptr addrspace(4) sret(%union.anon) align 8 %agg.tmp2.ascast, ptr addrspace(4) noundef %call5) #14 - call spir_func void @_ZN4sycl3_V16sincosINS0_9multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS6_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE14is_multi_ptr_vIT_Esr6detailE26has_writeable_addr_space_vISB_Esr6detailE20is_valid_elem_type_vISB_S5_EES5_E4typeES5_SB_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp, ptr noundef nonnull byval(%union.anon) align 8 %agg.tmp2) #14 - %call7 = call spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm2EEixEm(ptr addrspace(4) noundef align 2 dereferenceable_or_null(4) %agg.result, i64 noundef %conv) #13 - %1 = load i16, ptr %ref.tmp, align 2, !tbaa !99 - store i16 %1, ptr addrspace(4) %call7, align 2, !tbaa !99 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %ref.tmp) #13 - %inc = add nuw nsw i32 %I.0, 1 - br label %for.cond, !llvm.loop !5286 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ32check_function_multi_ptr_privateILi4300853EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE648_NS2_IiLm3EEEEvSC_T1_NS9_9resultRefIT0_EET2_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clEST_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(72) %this) #2 comdat align 2 !srcloc !75 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %inputData_1.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %multiPtrSourceData.i = alloca %"class.sycl::_V1::marray.2250", align 4 - %ref.tmp7.i = alloca i32, align 4 - %ref.tmp8.i = alloca i32, align 4 - %ref.tmp9.i = alloca i32, align 4 - %inputData_2.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %res.i = alloca %"class.sycl::_V1::marray.77.9", align 2 - %agg.tmp11.i = alloca %"class.sycl::_V1::multi_ptr", align 8 - %result = alloca %struct.privatePtrCheck.2260.232, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %result.ascast = addrspacecast ptr %result to ptr addrspace(4) - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %agg.tmp2.ascast = addrspacecast ptr %agg.tmp2 to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %result) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp11.i) - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %inputData_1.ascast.i = addrspacecast ptr %inputData_1.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %multiPtrSourceData.ascast.i = addrspacecast ptr %multiPtrSourceData.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %inputData_2.ascast.i = addrspacecast ptr %inputData_2.i to ptr addrspace(4) - %res.ascast.i = addrspacecast ptr %res.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5287 - store float 0x3FC8E85780000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5287 - store float 0x3FDCC63B00000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5287 - store float 0x3FE3C57720000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5287 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5287 - store float 0x3FDDF4FFC0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5287 - store float 0x3FE10679A0000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5287 - store float 0x3FE941FE40000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5287 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm3EEC2IJfffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(6) %inputData_1.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5287 - store i32 571, ptr %ref.tmp7.i, align 4, !tbaa !126, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5287 - store i32 -30360, ptr %ref.tmp8.i, align 4, !tbaa !126, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5287 - store i32 7023, ptr %ref.tmp9.i, align 4, !tbaa !126, !noalias !5287 - call spir_func void @_ZN4sycl3_V16marrayIiLm3EEC2IJiiiEvEEDpRKT_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(12) %multiPtrSourceData.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5287 - call spir_func void @_ZN4sycl3_V118address_space_castILNS0_6access13address_spaceE0ELNS2_9decoratedE0ENS0_6marrayIiLm3EEEEENS0_9multi_ptrIT1_XT_EXT0_EEEPS8_(ptr addrspace(4) sret(%"class.sycl::_V1::multi_ptr") align 8 %inputData_2.ascast.i, ptr addrspace(4) noundef %multiPtrSourceData.ascast.i) #14, !noalias !5287 - call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5287 - %0 = load i64, ptr %inputData_2.i, align 8, !tbaa !128, !noalias !5287 - store i64 %0, ptr %agg.tmp11.i, align 8, !tbaa !128, !noalias !5287 - call spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm3EEES6_NS0_9multi_ptrINS2_IiLm3EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.77.9") align 2 %res.ascast.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_0.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %inputData_1.i, ptr noundef nonnull byval(%"class.sycl::_V1::multi_ptr") align 8 %agg.tmp11.i) #14, !noalias !5287 - call spir_func void @_ZN15privatePtrCheckIN4sycl3_V16marrayINS1_6detail9half_impl4halfELm3EEENS2_IiLm3EEEEC2ES6_S7_(ptr addrspace(4) noundef align 4 dereferenceable_or_null(20) %result.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.77.9") align 2 %res.i, ptr noundef nonnull byval(%"class.sycl::_V1::marray.2250") align 4 %multiPtrSourceData.i) #13 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %res.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %inputData_2.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %multiPtrSourceData.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_1.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %inputData_0.i) #13, !noalias !5287 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp11.i) - %resultPtr = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 1 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(6) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 2 %call, ptr align 4 %result, i64 6, i1 false), !tbaa.struct !206 - %resArg = getelementptr inbounds %struct.privatePtrCheck.2260.232, ptr %result, i64 0, i32 1 - %resultPtrArg = getelementptr inbounds %class.anon.1513, ptr addrspace(4) %this, i64 0, i32 2 - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp2.ascast, i64 noundef 0) #13 - %call3 = call spir_func noundef align 4 dereferenceable(12) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS3_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %resultPtrArg, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2) #13 - call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 4 %call3, ptr align 4 %resArg, i64 12, i1 false), !tbaa.struct !1142 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %result) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V16detail9loop_implIJLm0EEZNS0_19local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS6_11placeholderE0EE6__initEPU3AS3S5_NS0_5rangeILi1EEESD_NS0_2idILi1EEEEUlmE_EEvSt16integer_sequenceImJXspT_EEEOT0_(ptr noundef byval(%class.anon) align 1 %0, ptr addrspace(4) noundef align 8 dereferenceable(16) %f) #1 comdat !srcloc !305 { -entry: - %ref.tmp = alloca %class.anon, align 1 - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp) #13 - %call = call spir_func noundef i64 @_ZNKSt17integral_constantImLm0EEcvmEv(ptr addrspace(4) noundef align 1 dereferenceable_or_null(1) %ref.tmp.ascast) #13 - call spir_func void @_ZZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEENKUlmE_clEm(ptr addrspace(4) noundef align 8 dereferenceable_or_null(16) %f, i64 noundef %call) #13 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(2) ptr addrspace(4) @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEixEi(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this, i32 noundef %i) #1 comdat align 2 !srcloc !892 !sycl_used_aspects !63 { -entry: - %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::detail::half_impl::half", ptr addrspace(4) %this, i64 %idxprom - ret ptr addrspace(4) %arrayidx -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14log2ENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !5290 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5291 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5291 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_log2DF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V114local_accessorINS0_6marrayIiLm4EEELi1EE6__initEPU3AS3S3_NS0_5rangeILi1EEES8_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %AccessRange, ptr noundef byval(%"class.sycl::_V1::range") align 8 %range, ptr noundef byval(%"class.sycl::_V1::range") align 8 %id) #1 comdat align 2 !srcloc !750 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp2 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp3 = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %AccessRange, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %range, align 8 - store i64 %1, ptr %agg.tmp2, align 8 - %2 = load i64, ptr %id, align 8 - store i64 %2, ptr %agg.tmp3, align 8 - tail call spir_func void @_ZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr addrspace(3) noundef %Ptr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp2, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp3) #13 - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 2 dereferenceable(10) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef byval(%"class.sycl::_V1::range") align 8 %Index) #1 comdat align 2 !srcloc !105 !sycl_used_aspects !63 { -entry: - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %0 = load i64, ptr %Index, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %call = tail call spir_func noundef i64 @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - %call2 = tail call spir_func noundef ptr addrspace(1) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE15getQualifiedPtrEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this) #13 - %arrayidx = getelementptr inbounds %"class.sycl::_V1::marray.105.11", ptr addrspace(1) %call2, i64 %call - %arrayidx.ascast = addrspacecast ptr addrspace(1) %arrayidx to ptr addrspace(4) - ret ptr addrspace(4) %arrayidx.ascast -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef <3 x half> @_ZN4sycl3_V16detail20ConvertNonVectorTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXntsr16TryToGetPointerTIT0_EE5valueET_E4typeERS9_(ptr addrspace(4) noundef align 8 dereferenceable(8) %t) #1 comdat !srcloc !971 { -entry: - %call = tail call spir_func noundef <3 x half> @_ZNK4sycl3_V13vecINS0_6detail9half_impl4halfELi3EEcvDv3_DF16_Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %t) #13 - ret <3 x half> %call -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef i64 @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EE4sizeEv() #1 comdat align 2 !srcloc !458 { -entry: - ret i64 17 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V15atan2INS0_3vecINS0_6detail9half_impl4halfELi3EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a0, ptr noundef byval(%"class.sycl::_V1::vec.16.3") align 8 %a1) #2 comdat !srcloc !983 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp1.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - %1 = load i64, ptr %a1, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp1.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5294 - %call.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #13, !noalias !5294 - store i64 %1, ptr %agg.tmp1.i, align 8, !tbaa !69, !noalias !5294 - %call2.i = tail call spir_func noundef <3 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi3EEEDv3_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp1.i) #13, !noalias !5294 - %call7.i = tail call spir_func noundef <3 x half> @_Z17__spirv_ocl_atan2Dv3_DF16_S_(<3 x half> noundef %call.i, <3 x half> noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv3_DF16_NS0_3vecINS1_9half_impl4halfELi3EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %agg.result, <3 x half> noundef %call7.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300301EN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE300_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp2.i = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 16 dereferenceable(16) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp2.i) - store <8 x half> , ptr %agg.tmp.i, align 16, !tbaa.struct !209, !noalias !5297 - store <8 x half> , ptr %agg.tmp2.i, align 16, !tbaa.struct !209, !noalias !5297 - call spir_func void @_ZN4sycl3_V14fmaxINS0_3vecINS0_6detail9half_impl4halfELi8EEES6_EENSt9enable_ifIXaaaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEsr6detailE24check_all_same_op_type_vIS8_T0_EENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_S9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp.i, ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp2.i) #14 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp2.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi8EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 16 dereferenceable(16) %call, ptr addrspace(4) noundef align 16 dereferenceable(16) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301075EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301075EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE810_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300879EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300879EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE658_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300910EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300910EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE689_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14rintINS0_3vecINS0_6detail9half_impl4halfELi8EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.40.5") align 16 %a0) #2 comdat !srcloc !548 { -entry: - %agg.tmp1 = alloca %"class.sycl::_V1::vec.40.5", align 16 - %agg.tmp.sroa.0.0.copyload = load <8 x half>, ptr %a0, align 16, !tbaa.struct !209 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1) - store <8 x half> %agg.tmp.sroa.0.0.copyload, ptr %agg.tmp1, align 16 - %call.i = tail call spir_func noundef <8 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi8EEEDv8_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.40.5") align 16 %agg.tmp1) #13, !noalias !5300 - %call1.i = tail call spir_func noundef <8 x half> @_Z16__spirv_ocl_rintDv8_DF16_(<8 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv8_DF16_NS0_3vecINS1_9half_impl4halfELi8EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.40.5") align 16 %agg.result, <8 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300207EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300207EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm5EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE206_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14logbENS0_6detail9half_impl4halfE(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0) #2 comdat !srcloc !5303 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5304 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5304 - %call1.i = tail call spir_func noundef half @_Z16__spirv_ocl_logbDF16_(half noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4301066EN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE801_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::vec.16.3", align 8 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 8 dereferenceable(8) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp) #13 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 62557142857763, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5307 - call spir_func void @_ZN4sycl3_V16tgammaINS0_3vecINS0_6detail9half_impl4halfELi3EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.16.3") align 8 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::vec.16.3") align 8 %agg.tmp.i) #14 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - call spir_func void @_ZN16value_operations6assignIN4sycl3_V13vecINS2_6detail9half_impl4halfELi3EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 8 dereferenceable(8) %call, ptr addrspace(4) noundef align 8 dereferenceable(8) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V13powENS0_6detail9half_impl4halfES3_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a0, ptr noundef byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %a1) #2 comdat !srcloc !5310 !sycl_used_aspects !63 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %agg.tmp1.i = alloca %"class.sycl::_V1::detail::half_impl::half", align 2 - %0 = load i16, ptr %a0, align 2, !tbaa !99 - %1 = load i16, ptr %a1, align 2, !tbaa !99 - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %agg.tmp1.i) - store i16 %0, ptr %agg.tmp.i, align 2, !tbaa !99, !noalias !5311 - %call.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp.i) #13, !noalias !5311 - store i16 %1, ptr %agg.tmp1.i, align 2, !tbaa !99, !noalias !5311 - %call2.i = tail call spir_func noundef half @_ZN4sycl3_V16detail17convertDataToTypeINS1_9half_impl4halfEDF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr noundef nonnull byval(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.tmp1.i) #13, !noalias !5311 - %call3.i = tail call spir_func noundef half @_Z15__spirv_ocl_powDF16_DF16_(half noundef %call.i, half noundef %call2.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDF16_NS1_9half_impl4halfEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstS7_stS6_ES7_E4typeES6_(ptr addrspace(4) sret(%"class.sycl::_V1::detail::half_impl::half") align 2 %agg.result, half noundef %call3.i) #13 - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp.i) - call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %agg.tmp1.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef ptr @_ZNK4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EE13get_decoratedEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %this) #1 comdat align 2 !srcloc !302 { -entry: - %0 = load ptr, ptr addrspace(4) %this, align 8, !tbaa !2817 - ret ptr %0 -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14acosINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !774 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5314 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5314 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_acosDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZN4sycl3_V14sqrtINS0_3vecINS0_6detail9half_impl4halfELi4EEEEENSt9enable_ifIXaaaasr6detailE19is_vec_or_swizzle_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_Esr6detailE15is_valid_size_vIS8_Li1ELi2ELi3ELi4ELi8ELi16EEENS3_19simplify_if_swizzleIS8_E4typeEE4typeES8_(ptr addrspace(4) noalias sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, ptr noundef byval(%"class.sycl::_V1::vec.28.4") align 8 %a0) #2 comdat !srcloc !659 { -entry: - %agg.tmp.i = alloca %"class.sycl::_V1::vec.28.4", align 8 - %0 = load i64, ptr %a0, align 8, !tbaa !69 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) - store i64 %0, ptr %agg.tmp.i, align 8, !tbaa !69, !noalias !5317 - %call.i = tail call spir_func noundef <4 x half> @_ZN4sycl3_V16detail17convertDataToTypeINS0_3vecINS1_9half_impl4halfELi4EEEDv4_DF16_EENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr noundef nonnull byval(%"class.sycl::_V1::vec.28.4") align 8 %agg.tmp.i) #13, !noalias !5317 - %call1.i = tail call spir_func noundef <4 x half> @_Z16__spirv_ocl_sqrtDv4_DF16_(<4 x half> noundef %call.i) #15 - tail call spir_func void @_ZN4sycl3_V16detail17convertDataToTypeIDv4_DF16_NS0_3vecINS1_9half_impl4halfELi4EEEEENSt9enable_ifIXaantaasr11is_vgentypeIT_EE5valuesr11is_vgentypeIT0_EE5valueeqstSA_stS9_ESA_E4typeES9_(ptr addrspace(4) sret(%"class.sycl::_V1::vec.28.4") align 8 %agg.result, <4 x half> noundef %call1.i) #13 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) - ret void -} - -; Function Attrs: mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNKSt5arrayIiLm13EEixEm(ptr addrspace(4) noundef align 4 dereferenceable_or_null(52) %this, i64 noundef %__n) #1 comdat align 2 !srcloc !345 { -entry: - %call = tail call spir_func noundef align 4 dereferenceable(4) ptr addrspace(4) @_ZNSt14__array_traitsIiLm13EE6_S_refERA13_Kim(ptr addrspace(4) noundef align 4 dereferenceable(52) %this, i64 noundef %__n) #13 - ret ptr addrspace(4) %call -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define linkonce_odr dso_local spir_func void @_ZZZ14check_functionILi4300263EN4sycl3_V16marrayINS1_6detail9half_impl4halfELm17EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE262_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %this) #2 comdat align 2 !srcloc !67 !sycl_used_aspects !63 { -entry: - %inputData_0.i = alloca %"class.sycl::_V1::marray.119.12", align 2 - %ref.tmp.i = alloca float, align 4 - %ref.tmp2.i = alloca float, align 4 - %ref.tmp3.i = alloca float, align 4 - %ref.tmp4.i = alloca float, align 4 - %ref.tmp5.i = alloca float, align 4 - %ref.tmp6.i = alloca float, align 4 - %ref.tmp7.i = alloca float, align 4 - %ref.tmp8.i = alloca float, align 4 - %ref.tmp9.i = alloca float, align 4 - %ref.tmp10.i = alloca float, align 4 - %ref.tmp11.i = alloca float, align 4 - %ref.tmp12.i = alloca float, align 4 - %ref.tmp13.i = alloca float, align 4 - %ref.tmp14.i = alloca float, align 4 - %ref.tmp15.i = alloca float, align 4 - %ref.tmp16.i = alloca float, align 4 - %ref.tmp17.i = alloca float, align 4 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %ref.tmp = alloca %"class.sycl::_V1::marray.119.12", align 2 - %agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace(4) - %ref.tmp.ascast = addrspacecast ptr %ref.tmp to ptr addrspace(4) - call spir_func void @_ZN4sycl3_V12idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(8) %agg.tmp.ascast, i64 noundef 0) #13 - %call = call spir_func noundef align 2 dereferenceable(34) ptr addrspace(4) @_ZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEixILi1EvEERS6_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %this, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp) #13 - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %ref.tmp) #13 - %inputData_0.ascast.i = addrspacecast ptr %inputData_0.i to ptr addrspace(4) - %ref.tmp.ascast.i = addrspacecast ptr %ref.tmp.i to ptr addrspace(4) - %ref.tmp2.ascast.i = addrspacecast ptr %ref.tmp2.i to ptr addrspace(4) - %ref.tmp3.ascast.i = addrspacecast ptr %ref.tmp3.i to ptr addrspace(4) - %ref.tmp4.ascast.i = addrspacecast ptr %ref.tmp4.i to ptr addrspace(4) - %ref.tmp5.ascast.i = addrspacecast ptr %ref.tmp5.i to ptr addrspace(4) - %ref.tmp6.ascast.i = addrspacecast ptr %ref.tmp6.i to ptr addrspace(4) - %ref.tmp7.ascast.i = addrspacecast ptr %ref.tmp7.i to ptr addrspace(4) - %ref.tmp8.ascast.i = addrspacecast ptr %ref.tmp8.i to ptr addrspace(4) - %ref.tmp9.ascast.i = addrspacecast ptr %ref.tmp9.i to ptr addrspace(4) - %ref.tmp10.ascast.i = addrspacecast ptr %ref.tmp10.i to ptr addrspace(4) - %ref.tmp11.ascast.i = addrspacecast ptr %ref.tmp11.i to ptr addrspace(4) - %ref.tmp12.ascast.i = addrspacecast ptr %ref.tmp12.i to ptr addrspace(4) - %ref.tmp13.ascast.i = addrspacecast ptr %ref.tmp13.i to ptr addrspace(4) - %ref.tmp14.ascast.i = addrspacecast ptr %ref.tmp14.i to ptr addrspace(4) - %ref.tmp15.ascast.i = addrspacecast ptr %ref.tmp15.i to ptr addrspace(4) - %ref.tmp16.ascast.i = addrspacecast ptr %ref.tmp16.i to ptr addrspace(4) - %ref.tmp17.ascast.i = addrspacecast ptr %ref.tmp17.i to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5320 - store float 0x3FDC677D40000000, ptr %ref.tmp.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5320 - store float 0x3FC00E2AC0000000, ptr %ref.tmp2.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5320 - store float 0x3FD4537B80000000, ptr %ref.tmp3.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5320 - store float 0x3FDA1374C0000000, ptr %ref.tmp4.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5320 - store float 0x3FD800EE80000000, ptr %ref.tmp5.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5320 - store float 0x3FD9891860000000, ptr %ref.tmp6.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5320 - store float 0x3FE7C243E0000000, ptr %ref.tmp7.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5320 - store float 0x3FD01AC940000000, ptr %ref.tmp8.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5320 - store float 0x3FE84E9D40000000, ptr %ref.tmp9.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5320 - store float 0x3FE112BBE0000000, ptr %ref.tmp10.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5320 - store float 0x3FD7BE6680000000, ptr %ref.tmp11.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5320 - store float 0x3FE1565520000000, ptr %ref.tmp12.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5320 - store float 0x3FCD546A80000000, ptr %ref.tmp13.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5320 - store float 0x3FDFC46CA0000000, ptr %ref.tmp14.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5320 - store float 0x3FBE1895C0000000, ptr %ref.tmp15.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5320 - store float 0x3FE94ACB20000000, ptr %ref.tmp16.i, align 4, !tbaa !82, !noalias !5320 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5320 - store float 0x3FD7607FC0000000, ptr %ref.tmp17.i, align 4, !tbaa !82, !noalias !5320 - call spir_func void @_ZN4sycl3_V16marrayINS0_6detail9half_impl4halfELm17EEC2IJfffffffffffffffffEvEEDpRKT_(ptr addrspace(4) noundef align 2 dereferenceable_or_null(34) %inputData_0.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp2.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp3.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp4.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp5.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp6.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp7.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp8.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp9.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp10.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp11.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp12.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp13.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp14.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp15.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp16.ascast.i, ptr addrspace(4) noundef align 4 dereferenceable(4) %ref.tmp17.ascast.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp17.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp16.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp15.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp14.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp13.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp12.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp11.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp10.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp9.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp8.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp7.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp6.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp5.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp3.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp2.i) #13, !noalias !5320 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i) #13, !noalias !5320 - call spir_func void @_ZN4sycl3_V14fabsINS0_6marrayINS0_6detail9half_impl4halfELm17EEEEENSt9enable_ifIXaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vIS8_fdS5_EES8_E4typeES8_(ptr addrspace(4) sret(%"class.sycl::_V1::marray.119.12") align 2 %ref.tmp.ascast, ptr noundef nonnull byval(%"class.sycl::_V1::marray.119.12") align 2 %inputData_0.i) #14 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %inputData_0.i) #13, !noalias !5320 - call spir_func void @_ZN16value_operations6assignIN4sycl3_V16marrayINS2_6detail9half_impl4halfELm17EEES7_EENSt9enable_ifIXaasr6detailE38is_non_array_with_subscript_and_size_vIT_Esr6detailE38is_non_array_with_subscript_and_size_vIT0_EEvE4typeERS9_RKSA_(ptr addrspace(4) noundef align 2 dereferenceable(34) %call, ptr addrspace(4) noundef align 2 dereferenceable(34) %ref.tmp.ascast) #13 - call void @llvm.lifetime.end.p0(i64 34, ptr nonnull %ref.tmp) #13 - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4301053EE(ptr addrspace(1) noundef align 2 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4301053EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE788_EvSA_T1_NS7_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESP_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: convergent mustprogress noinline norecurse nounwind -define weak_odr dso_local spir_kernel void @_ZTS6kernelILi4300234EE(ptr addrspace(1) noundef align 8 %_arg_resultPtr, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr1, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr2, ptr noundef byval(%"class.sycl::_V1::range") align 8 %_arg_resultPtr3) #0 comdat !srcloc !67 !kernel_arg_buffer_location !95 !kernel_arg_runtime_aligned !96 !kernel_arg_exclusive_ptr !96 !sycl_used_aspects !63 !sycl_fixed_targets !64 !sycl_kernel_omit_args !97 { -entry: - call void @__itt_offload_wi_start_wrapper() - %__SYCLKernel = alloca %class.anon.0, align 8 - %agg.tmp = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp5 = alloca %"class.sycl::_V1::range", align 8 - %agg.tmp6 = alloca %"class.sycl::_V1::range", align 8 - %__SYCLKernel.ascast = addrspacecast ptr %__SYCLKernel to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEC2Ev(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast) #13 - %0 = load i64, ptr %_arg_resultPtr1, align 8 - store i64 %0, ptr %agg.tmp, align 8 - %1 = load i64, ptr %_arg_resultPtr2, align 8 - store i64 %1, ptr %agg.tmp5, align 8 - %2 = load i64, ptr %_arg_resultPtr3, align 8 - store i64 %2, ptr %agg.tmp6, align 8 - call spir_func void @_ZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEE(ptr addrspace(4) noundef align 8 dereferenceable_or_null(32) %__SYCLKernel.ascast, ptr addrspace(1) noundef %_arg_resultPtr, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp5, ptr noundef nonnull byval(%"class.sycl::_V1::range") align 8 %agg.tmp6) #13 - call spir_func void @_ZZZ14check_functionILi4300234EN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlvE233_EvSC_T1_NS9_9resultRefIT0_EEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESR_ENKUlvE_clEv(ptr addrspace(4) noundef align 8 dereferenceable_or_null(33) %__SYCLKernel.ascast) #14 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %__SYCLKernel) #13 - call void @__itt_offload_wi_finish_wrapper() - ret void -} - -; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #6 - -; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #6 - -; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) -declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7 - -; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) -declare void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg) #7 - -; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) -declare void @llvm.memcpy.p0.p4.i64(ptr noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg) #7 - -; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) -declare void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7 - -; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) -declare void @llvm.memcpy.p0.p1.i64(ptr noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg) #7 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_sqrtDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_acosDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z15__spirv_ocl_powDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_logbDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_rintDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_atan2Dv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_log2DF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi(ptr addrspace(4) noundef, i32 noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_expm1Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_sinhDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_asinpiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS1i(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_asinhDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fmaxDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_cosDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_hypotDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_rsqrtDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_roundDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z18__spirv_ocl_acospiDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_atan2DF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_coshDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS1i(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fdimDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS0i(half noundef, half noundef, ptr noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_sinpiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset.p4.i64(ptr addrspace(4) nocapture writeonly, i8, i64, i1 immarg) #10 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_ceilDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS3DF16_(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_asinpiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_asinhDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS0i(half noundef, ptr noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_tgammaDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_logDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z21__spirv_ocl_nextafterDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_rootnDF16_i(half noundef, i32 noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_sinDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_log2Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_atanhDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_log2Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_sqrtDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_coshDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_coshDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_rsqrtDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_log10Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_atanhDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_sqrtDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_sinDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_minmagDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fmodDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_expm1Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_tanhDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fdimDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_acoshDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_cospiDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_asinDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fmodDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_logbDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef ptr addrspace(1) @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPvi(ptr addrspace(4) noundef, i32 noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_atan2Dv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_asinDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_acoshDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS0i(half noundef, ptr noundef) local_unnamed_addr #9 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS3DF16_(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_acosDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_roundDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_sqrtDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_erfcDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_cospiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS0DF16_(half noundef, ptr noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_exp10Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z15__spirv_ocl_tanDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_logDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z20__spirv_ocl_copysignDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fdimDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_lgammaDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_atanDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_exp2Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z20__spirv_ocl_lgamma_rDF16_PU3AS3i(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS3DF16_(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_tgammaDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_ceilDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_sinpiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_rintDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z21__spirv_ocl_remainderDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_log1pDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_asinpiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_erfDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: mustprogress noinline norecurse nounwind -define internal spir_func noundef i64 @_ZN7__spirvL15getGlobalOffsetILi0EEEmv() unnamed_addr #1 !srcloc !5323 !sycl_kernel_omit_args !64 { -entry: - %call = tail call spir_func noundef i64 @_Z22__spirv_GlobalOffset_xv() #13 - ret i64 %call -} - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fminDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fmaxDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_acosDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_truncDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_sinDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z21__spirv_ocl_remainderDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_sinpiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z20__spirv_ocl_copysignDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_tanDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_tanhDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_rsqrtDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z21__spirv_ocl_nextafterDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z19__spirv_ocl_atan2piDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_rootnDv4_DF16_Dv4_i(<4 x half> noundef, <4 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_cosDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_fmaDv4_DF16_S_S_(<4 x half> noundef, <4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_coshDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_logbDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z21__spirv_ocl_nextafterDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_tanpiDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_hypotDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fmodDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z19__spirv_ocl_atan2piDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_hypotDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_roundDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_sinpiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_asinDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_minmagDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_expDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_logbDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_logDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef ptr addrspace(3) @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPvi(ptr addrspace(4) noundef, i32 noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z18__spirv_ocl_sincosDF16_PU3AS1DF16_(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_ldexpDv16_DF16_Dv16_i(<16 x half> noundef, <16 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_log2Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fmaxDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_fabsDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_logbDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_truncDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_atanhDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_atanDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_sqrtDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_erfDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_cbrtDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_exp2Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z17__spirv_ocl_frexpDF16_PU3AS3i(half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_log2Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_log1pDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_roundDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: mustprogress noinline norecurse nounwind -define internal spir_func noundef i64 @_ZN7__spirvL13getGlobalSizeILi0EEEmv() unnamed_addr #1 !srcloc !5324 !sycl_kernel_omit_args !64 { -entry: - %call = tail call spir_func noundef i64 @_Z20__spirv_GlobalSize_xv() #13 - ret i64 %call -} - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_log10Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_tanpiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_acoshDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_powrDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z18__spirv_ocl_maxmagDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_sinhDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_exp10Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_ldexpDv2_DF16_Dv2_i(<2 x half> noundef, <2 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_asinhDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_atan2Dv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_fmaDv2_DF16_S_S_(<2 x half> noundef, <2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_tgammaDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS1DF16_(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_powrDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_atanhDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS3i(half noundef, half noundef, ptr addrspace(3) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_cospiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_floorDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fminDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_sinpiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_ldexpDv4_DF16_Dv4_i(<4 x half> noundef, <4 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_tanpiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_maxmagDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_exp10Dv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_asinhDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_sinhDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_rootnDv2_DF16_Dv2_i(<2 x half> noundef, <2 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_atan2Dv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z18__spirv_ocl_atanpiDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_sinhDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_sinhDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_acoshDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_floorDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_acospiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_rsqrtDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_acospiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_madDv3_DF16_S_S_(<3 x half> noundef, <3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_cosDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z18__spirv_ocl_asinpiDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_tanDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_minmagDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS0DF16_(half noundef, ptr noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_minmagDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_acoshDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_expDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_log2Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z15__spirv_ocl_erfDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_expm1Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_atanpiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_fmaxDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_atanpiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_fmodDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_tgammaDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fminDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_cospiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_log10DF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z18__spirv_ocl_remquoDF16_DF16_PU3AS1i(half noundef, half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_asinDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_powDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_tanpiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z20__spirv_ocl_copysignDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_sinDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_rootnDv8_DF16_Dv8_i(<8 x half> noundef, <8 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_maxmagDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fminDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_log1pDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_truncDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_powDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_cbrtDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_acospiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z15__spirv_ocl_madDF16_DF16_DF16_(half noundef, half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_log1pDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_pownDv2_DF16_Dv2_i(<2 x half> noundef, <2 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z18__spirv_ocl_tgammaDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_exp2Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_atanDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_cbrtDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z17__spirv_ocl_fractDF16_PU3AS1DF16_(half noundef, ptr addrspace(1) noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_powrDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: mustprogress noinline norecurse nounwind -define internal spir_func noundef i64 @_ZN7__spirvL16getNumWorkgroupsILi0EEEmv() unnamed_addr #1 !srcloc !5325 !sycl_kernel_omit_args !64 { +define spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_() { entry: - %call = tail call spir_func noundef i64 @_Z23__spirv_NumWorkgroups_xv() #13 - ret i64 %call -} - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z15__spirv_ocl_fmaDF16_DF16_DF16_(half noundef, half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_tanDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_atanhDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_floorDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_sinpiDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_hypotDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_cbrtDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_madDv2_DF16_S_S_(<2 x half> noundef, <2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_ldexpDF16_i(half noundef, i32 noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z15__spirv_ocl_expDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_atanpiDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_atanDF16_(half noundef) local_unnamed_addr #8 + br label %for.cond -; Function Attrs: mustprogress noinline norecurse nounwind -define internal spir_func noundef i64 @_ZN7__spirvL14getWorkgroupIdILi0EEEmv() unnamed_addr #1 !srcloc !5326 !sycl_kernel_omit_args !64 { -entry: - %call = tail call spir_func noundef i64 @_Z21__spirv_WorkgroupId_xv() #13 - ret i64 %call +for.cond: ; preds = %for.cond, %entry + %call3 = call spir_func ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv() + %call5 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %call3, i64 0) + br label %for.cond } -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z19__spirv_ocl_atan2piDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_rintDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_expDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z20__spirv_ocl_copysignDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_asinDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_powrDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_hypotDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent nounwind -declare dso_local spir_func noundef half @_Z16__spirv_ocl_modfDF16_PU3AS0DF16_(half noundef, ptr noundef) local_unnamed_addr #9 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_powrDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_log10Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_fdimDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_cbrtDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_cospiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: mustprogress noinline norecurse nounwind -define internal spir_func noundef i64 @_ZN7__spirvL21getGlobalInvocationIdILi0EEEmv() unnamed_addr #1 !srcloc !5327 !sycl_kernel_omit_args !64 { +define spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_() { entry: - %call = tail call spir_func noundef i64 @_Z28__spirv_GlobalInvocationId_xv() #13 - ret i64 %call -} - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z19__spirv_ocl_atan2piDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_logDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fmodDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_exp2Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_erfcDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_truncDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_rintDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_powDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_rsqrtDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z20__spirv_ocl_copysignDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_erfDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_pownDv8_DF16_Dv8_i(<8 x half> noundef, <8 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_sinhDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z21__spirv_ocl_remainderDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_truncDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_exp10Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_rootnDv16_DF16_Dv16_i(<16 x half> noundef, <16 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fmaxDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_ceilDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_erfcDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_log10Dv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_lgammaDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_expDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_roundDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_asinhDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_coshDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 + br label %for.cond -; Function Attrs: mustprogress noinline norecurse nounwind -define internal spir_func noundef i64 @_ZN7__spirvL20getLocalInvocationIdILi0EEEmv() unnamed_addr #1 !srcloc !5328 !sycl_kernel_omit_args !64 { -entry: - %call = tail call spir_func noundef i64 @_Z27__spirv_LocalInvocationId_xv() #13 - ret i64 %call +for.cond: ; preds = %for.cond, %entry + %call3 = call spir_func ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv() + %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) + %call5 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %call3.ascast, i64 0) + br label %for.cond } -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_pownDF16_i(half noundef, i32 noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_atanDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_ceilDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_cbrtDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fabsDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z21__spirv_ocl_nextafterDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_acosDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_madDv8_DF16_S_S_(<8 x half> noundef, <8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_erfcDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_floorDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_acosDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_cosDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_fmaDv16_DF16_S_S_(<16 x half> noundef, <16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_rsqrtDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_sinDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_rintDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_ldexpDv8_DF16_Dv8_i(<8 x half> noundef, <8 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_floorDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fminDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_erfDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_maxmagDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_log10Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_cospiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_exp10Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_expm1Dv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_tanhDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_pownDv3_DF16_Dv3_i(<3 x half> noundef, <3 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_tanhDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_ldexpDv3_DF16_Dv3_i(<3 x half> noundef, <3 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_exp2DF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_fabsDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_tanhDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_fmaDv3_DF16_S_S_(<3 x half> noundef, <3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_acospiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fabsDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_expm1DF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fabsDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z19__spirv_ocl_atan2piDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z20__spirv_ocl_copysignDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_coshDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x i32> @_Z17__spirv_ocl_ilogbDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_maxmagDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_atanpiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_fmaDv8_DF16_S_S_(<8 x half> noundef, <8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_ceilDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_asinDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z21__spirv_ocl_nextafterDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_acospiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_powDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_tanDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z18__spirv_ocl_lgammaDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z21__spirv_ocl_remainderDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z21__spirv_ocl_nextafterDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_asinpiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_exp2Dv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_acoshDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_rootnDv3_DF16_Dv3_i(<3 x half> noundef, <3 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z19__spirv_ocl_atan2piDv4_DF16_S_(<4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z15__spirv_ocl_sinDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_minmagDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_fmaxDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_erfcDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_madDv4_DF16_S_S_(<4 x half> noundef, <4 x half> noundef, <4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z18__spirv_ocl_lgammaDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 +declare spir_func ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv() -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_log1pDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fdimDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_erfcDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_atanpiDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_atan2Dv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_fabsDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_asinpiDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z18__spirv_ocl_lgammaDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z15__spirv_ocl_madDv16_DF16_S_S_(<16 x half> noundef, <16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z15__spirv_ocl_cosDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_tanhDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef i32 @_Z17__spirv_ocl_ilogbDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_truncDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z15__spirv_ocl_expDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_acosDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z18__spirv_ocl_lgammaDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z16__spirv_ocl_atanDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_pownDv16_DF16_Dv16_i(<16 x half> noundef, <16 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_fdimDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z18__spirv_ocl_tgammaDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z16__spirv_ocl_sqrtDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_asinhDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_pownDv4_DF16_Dv4_i(<4 x half> noundef, <4 x i32> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z17__spirv_ocl_floorDv16_DF16_(<16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_powrDv2_DF16_S_(<2 x half> noundef, <2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_tanpiDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_cosDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_tanDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z16__spirv_ocl_rintDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z18__spirv_ocl_minmagDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_expm1Dv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z15__spirv_ocl_logDF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_fmodDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z16__spirv_ocl_fminDF16_DF16_(half noundef, half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_hypotDv8_DF16_S_(<8 x half> noundef, <8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z17__spirv_ocl_tanpiDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z17__spirv_ocl_atanhDv3_DF16_(<3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z16__spirv_ocl_logbDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <16 x half> @_Z21__spirv_ocl_remainderDv16_DF16_S_(<16 x half> noundef, <16 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z18__spirv_ocl_maxmagDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z16__spirv_ocl_ceilDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: mustprogress noinline norecurse nounwind -define internal spir_func noundef i64 @_ZN7__spirvL16getWorkgroupSizeILi0EEEmv() unnamed_addr #1 !srcloc !5329 !sycl_kernel_omit_args !64 { +define spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) %call3.ascast) { entry: - %call = tail call spir_func noundef i64 @_Z23__spirv_WorkgroupSize_xv() #13 - ret i64 %call -} - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef half @_Z17__spirv_ocl_exp10DF16_(half noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z15__spirv_ocl_erfDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <2 x half> @_Z15__spirv_ocl_logDv2_DF16_(<2 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <4 x half> @_Z17__spirv_ocl_roundDv4_DF16_(<4 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z21__spirv_ocl_remainderDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 - -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <8 x half> @_Z17__spirv_ocl_log1pDv8_DF16_(<8 x half> noundef) local_unnamed_addr #8 + br label %for.cond -; Function Attrs: convergent mustprogress nofree nounwind willreturn memory(none) -declare dso_local spir_func noundef <3 x half> @_Z15__spirv_ocl_powDv3_DF16_S_(<3 x half> noundef, <3 x half> noundef) local_unnamed_addr #8 +for.cond: ; preds = %for.cond, %entry + %call5 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %call3.ascast, i64 0) + br label %for.cond +} -; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind -define weak dso_local spir_func void @__itt_offload_wi_start_wrapper() #11 !srcloc !5330 { +define spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_() { entry: - %GroupID = alloca [3 x i64], align 8 - %call.i = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #14 - %cmp.i.not = icmp eq i8 %call.i, 0 - br i1 %cmp.i.not, label %return, label %if.end - -if.end: ; preds = %entry - %GroupID.ascast = addrspacecast ptr %GroupID to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %GroupID) #13 - %0 = load <3 x i64>, ptr addrspace(1) @__spirv_BuiltInWorkgroupId, align 32 - %1 = extractelement <3 x i64> %0, i64 0 - store i64 %1, ptr %GroupID, align 8, !tbaa !340 - %arrayinit.element = getelementptr inbounds i64, ptr %GroupID, i64 1 - %2 = extractelement <3 x i64> %0, i64 1 - store i64 %2, ptr %arrayinit.element, align 8, !tbaa !340 - %arrayinit.element1 = getelementptr inbounds i64, ptr %GroupID, i64 2 - %3 = extractelement <3 x i64> %0, i64 2 - store i64 %3, ptr %arrayinit.element1, align 8, !tbaa !340 - %4 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalLinearId, align 8, !tbaa !340 - %5 = load i64, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, align 32 - %6 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, i64 8), align 8 - %mul = mul i64 %5, %6 - %7 = load i64, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @__spirv_BuiltInWorkgroupSize, i64 16), align 16 - %mul2 = mul i64 %mul, %7 - %conv = trunc i64 %mul2 to i32 - call spir_func void @__itt_offload_wi_start_stub(ptr addrspace(4) noundef %GroupID.ascast, i64 noundef %4, i32 noundef %conv) #14 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %GroupID) #13 - br label %return + br label %for.cond -return: ; preds = %if.end, %entry - ret void +for.cond: ; preds = %for.cond, %entry + %call3 = call spir_func ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv() + %call5 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %call3, i64 0) + br label %for.cond } -; Function Attrs: convergent nounwind -declare extern_weak dso_local spir_func signext i8 @__spirv_SpecConstant(i32 noundef, i8 noundef signext) local_unnamed_addr #9 - -; Function Attrs: alwaysinline convergent mustprogress norecurse nounwind -define weak dso_local spir_func void @__itt_offload_wi_finish_wrapper() #11 !srcloc !5331 { -entry: - %GroupID = alloca [3 x i64], align 8 - %call.i = tail call spir_func signext i8 @__spirv_SpecConstant(i32 noundef -9145239, i8 noundef signext 0) #14 - %cmp.i.not = icmp eq i8 %call.i, 0 - br i1 %cmp.i.not, label %return, label %if.end - -if.end: ; preds = %entry - %GroupID.ascast = addrspacecast ptr %GroupID to ptr addrspace(4) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %GroupID) #13 - %0 = load <3 x i64>, ptr addrspace(1) @__spirv_BuiltInWorkgroupId, align 32 - %1 = extractelement <3 x i64> %0, i64 0 - store i64 %1, ptr %GroupID, align 8, !tbaa !340 - %arrayinit.element = getelementptr inbounds i64, ptr %GroupID, i64 1 - %2 = extractelement <3 x i64> %0, i64 1 - store i64 %2, ptr %arrayinit.element, align 8, !tbaa !340 - %arrayinit.element1 = getelementptr inbounds i64, ptr %GroupID, i64 2 - %3 = extractelement <3 x i64> %0, i64 2 - store i64 %3, ptr %arrayinit.element1, align 8, !tbaa !340 - %4 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalLinearId, align 8, !tbaa !340 - call spir_func void @__itt_offload_wi_finish_stub(ptr addrspace(4) noundef %GroupID.ascast, i64 noundef %4) #14 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %GroupID) #13 - br label %return +declare spir_func ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv() -return: ; preds = %if.end, %entry - ret void -} +declare spir_func ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv() -; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone -define weak dso_local spir_func void @__itt_offload_wi_start_stub(ptr addrspace(4) noundef %group_id, i64 noundef %wi_id, i32 noundef %wg_size) local_unnamed_addr #12 !srcloc !5332 { +define spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %this, i64 %index) { entry: - %group_id.addr = alloca ptr addrspace(4), align 8 - %wi_id.addr = alloca i64, align 8 - %wg_size.addr = alloca i32, align 4 - %group_id.addr.ascast = addrspacecast ptr %group_id.addr to ptr addrspace(4) - %wi_id.addr.ascast = addrspacecast ptr %wi_id.addr to ptr addrspace(4) - %wg_size.addr.ascast = addrspacecast ptr %wg_size.addr to ptr addrspace(4) - store ptr addrspace(4) %group_id, ptr addrspace(4) %group_id.addr.ascast, align 8, !tbaa !128 - store i64 %wi_id, ptr addrspace(4) %wi_id.addr.ascast, align 8, !tbaa !340 - store i32 %wg_size, ptr addrspace(4) %wg_size.addr.ascast, align 4, !tbaa !126 - ret void + %arrayidx = getelementptr [5 x i32], ptr addrspace(4) %this, i64 0, i64 %index + ret ptr addrspace(4) null } -; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone -define weak dso_local spir_func void @__itt_offload_wi_finish_stub(ptr addrspace(4) noundef %group_id, i64 noundef %wi_id) local_unnamed_addr #12 !srcloc !5333 { +define spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_() { entry: - %group_id.addr = alloca ptr addrspace(4), align 8 - %wi_id.addr = alloca i64, align 8 - %group_id.addr.ascast = addrspacecast ptr %group_id.addr to ptr addrspace(4) - %wi_id.addr.ascast = addrspacecast ptr %wi_id.addr to ptr addrspace(4) - store ptr addrspace(4) %group_id, ptr addrspace(4) %group_id.addr.ascast, align 8, !tbaa !128 - store i64 %wi_id, ptr addrspace(4) %wi_id.addr.ascast, align 8, !tbaa !340 - ret void -} - -attributes #0 = { convergent mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="tests/math_builtin_api/math_builtin_float_half.cpp" "sycl-optlevel"="3" "sycl-single-task" "uniform-work-group-size"="true" } -attributes #1 = { mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="3" } -attributes #2 = { convergent mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="3" } -attributes #3 = { convergent mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="tests/math_builtin_api/math_builtin_float_half.cpp" "sycl-optlevel"="3" "uniform-work-group-size"="true" } -attributes #4 = { noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="3" } -attributes #5 = { mustprogress noinline norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="tests/math_builtin_api/math_builtin_float_base.cpp" "sycl-optlevel"="3" } -attributes #6 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } -attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } -attributes #8 = { convergent mustprogress nofree nounwind willreturn memory(none) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } -attributes #9 = { convergent nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } -attributes #10 = { nocallback nofree nounwind willreturn memory(argmem: write) } -attributes #11 = { alwaysinline convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb1495701_00/runDir/jenkins-dir/workspace/Tools_SH/SYCLOS_Nightly/RHEL/llvm.src/libdevice/itt_compiler_wrappers.cpp" "sycl-optlevel"="2" } -attributes #12 = { convergent mustprogress noinline norecurse nounwind optnone "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="/netbatch/donb1495701_00/runDir/jenkins-dir/workspace/Tools_SH/SYCLOS_Nightly/RHEL/llvm.src/libdevice/itt_stubs.cpp" "sycl-optlevel"="2" } -attributes #13 = { nounwind } -attributes #14 = { convergent nounwind } -attributes #15 = { convergent nounwind willreturn memory(none) } + br label %for.cond -!opencl.spir.version = !{!0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0} -!spirv.Source = !{!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1} -!sycl_aspects = !{!2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55} -!llvm.ident = !{!56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56, !56} -!sycl_types_that_use_aspects = !{!57, !57, !57} -!llvm.module.flags = !{!58, !59} -!sycl.specialization-constants = !{} -!sycl.specialization-constants-default-values = !{} +for.cond: ; preds = %for.cond, %entry + %call8 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) null, i64 0) + br label %for.cond +} -!0 = !{i32 1, i32 2} -!1 = !{i32 4, i32 100000} -!2 = !{!"cpu", i32 1} -!3 = !{!"gpu", i32 2} -!4 = !{!"accelerator", i32 3} -!5 = !{!"custom", i32 4} -!6 = !{!"fp16", i32 5} -!7 = !{!"fp64", i32 6} -!8 = !{!"image", i32 9} -!9 = !{!"online_compiler", i32 10} -!10 = !{!"online_linker", i32 11} -!11 = !{!"queue_profiling", i32 12} -!12 = !{!"usm_device_allocations", i32 13} -!13 = !{!"usm_host_allocations", i32 14} -!14 = !{!"usm_shared_allocations", i32 15} -!15 = !{!"usm_system_allocations", i32 17} -!16 = !{!"ext_intel_pci_address", i32 18} -!17 = !{!"ext_intel_gpu_eu_count", i32 19} -!18 = !{!"ext_intel_gpu_eu_simd_width", i32 20} -!19 = !{!"ext_intel_gpu_slices", i32 21} -!20 = !{!"ext_intel_gpu_subslices_per_slice", i32 22} -!21 = !{!"ext_intel_gpu_eu_count_per_subslice", i32 23} -!22 = !{!"ext_intel_max_mem_bandwidth", i32 24} -!23 = !{!"ext_intel_mem_channel", i32 25} -!24 = !{!"usm_atomic_host_allocations", i32 26} -!25 = !{!"usm_atomic_shared_allocations", i32 27} -!26 = !{!"atomic64", i32 28} -!27 = !{!"ext_intel_device_info_uuid", i32 29} -!28 = !{!"ext_oneapi_srgb", i32 30} -!29 = !{!"ext_oneapi_native_assert", i32 31} -!30 = !{!"host_debuggable", i32 32} -!31 = !{!"ext_intel_gpu_hw_threads_per_eu", i32 33} -!32 = !{!"ext_oneapi_cuda_async_barrier", i32 34} -!33 = !{!"ext_oneapi_bfloat16_math_functions", i32 35} -!34 = !{!"ext_intel_free_memory", i32 36} -!35 = !{!"ext_intel_device_id", i32 37} -!36 = !{!"ext_intel_memory_clock_rate", i32 38} -!37 = !{!"ext_intel_memory_bus_width", i32 39} -!38 = !{!"emulated", i32 40} -!39 = !{!"ext_intel_legacy_image", i32 41} -!40 = !{!"ext_oneapi_bindless_images", i32 42} -!41 = !{!"ext_oneapi_bindless_images_shared_usm", i32 43} -!42 = !{!"ext_oneapi_bindless_images_1d_usm", i32 44} -!43 = !{!"ext_oneapi_bindless_images_2d_usm", i32 45} -!44 = !{!"ext_oneapi_interop_memory_import", i32 46} -!45 = !{!"ext_oneapi_interop_memory_export", i32 47} -!46 = !{!"ext_oneapi_interop_semaphore_import", i32 48} -!47 = !{!"ext_oneapi_interop_semaphore_export", i32 49} -!48 = !{!"ext_oneapi_mipmap", i32 50} -!49 = !{!"ext_oneapi_mipmap_anisotropy", i32 51} -!50 = !{!"ext_oneapi_mipmap_level_reference", i32 52} -!51 = !{!"int64_base_atomics", i32 7} -!52 = !{!"int64_extended_atomics", i32 8} -!53 = !{!"usm_system_allocator", i32 17} -!54 = !{!"usm_restricted_shared_allocations", i32 16} -!55 = !{!"host", i32 0} -!56 = !{!"clang version 17.0.0 (/netbatch/donb1495701_00/runDir/jenkins-dir/workspace/Tools_SH/SYCLOS_Nightly/RHEL/llvm.src/clang 8ef4090bb0c0256d0057a7acf997d7559d1418a0)"} -!57 = !{!"class.sycl::_V1::detail::half_impl::half", i32 5} -!58 = !{i32 1, !"wchar_size", i32 4} -!59 = !{i32 7, !"frame-pointer", i32 2} -!60 = !{i32 13080170} -!61 = !{i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1} -!62 = !{i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 false, i1 false} -!63 = !{i32 5} -!64 = !{} -!65 = !{i1 false, i1 false, i1 false, i1 false, i1 true, i1 false, i1 false, i1 false, i1 false} -!66 = !{i32 1268497} -!67 = !{i32 13076802} -!68 = !{i64 0, i64 32, !69} -!69 = !{!70, !70, i64 0} -!70 = !{!"omnipotent char", !71, i64 0} -!71 = !{!"Simple C++ TBAA"} -!72 = !{!73} -!73 = distinct !{!73, !74, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE257_clEv: %agg.result"} -!74 = distinct !{!74, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE257_clEv"} -!75 = !{i32 13078231} -!76 = !{i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false} -!77 = !{i32 10509877} -!78 = !{i32 5037680} -!79 = !{!80} -!80 = distinct !{!80, !81, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE399_clEv: %agg.result"} -!81 = distinct !{!81, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE399_clEv"} -!82 = !{!83, !83, i64 0} -!83 = !{!"float", !70, i64 0} -!84 = !{i32 8339279} -!85 = !{i32 13081650} -!86 = !{i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1} -!87 = !{i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 false, i1 false} -!88 = !{i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true} -!89 = !{i32 1192265} -!90 = !{i64 0, i64 4, !69} -!91 = !{!92} -!92 = distinct !{!92, !93, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE275_clEv: %agg.result"} -!93 = distinct !{!93, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE275_clEv"} -!94 = !{i32 10493929} -!95 = !{i32 -1, i32 -1, i32 -1, i32 -1} -!96 = !{i1 true, i1 false, i1 false, i1 false} -!97 = !{i1 false, i1 false, i1 false, i1 false, i1 true} -!98 = !{i32 9647552} -!99 = !{!100, !100, i64 0} -!100 = !{!"_Float16", !70, i64 0} -!101 = !{i32 10509422} -!102 = distinct !{!102, !103} -!103 = !{!"llvm.loop.mustprogress"} -!104 = distinct !{!104, !103} -!105 = !{i32 325735} -!106 = !{!107} -!107 = distinct !{!107, !108, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE520_clEv: %agg.result"} -!108 = distinct !{!108, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE520_clEv"} -!109 = !{i32 7577050} -!110 = !{i32 10520115} -!111 = !{i32 10518355} -!112 = distinct !{!112, !103} -!113 = !{i32 5940823} -!114 = !{i32 1321683} -!115 = !{i32 7750950} -!116 = !{!117} -!117 = distinct !{!117, !118, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE176_clEv: %agg.result"} -!118 = distinct !{!118, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE176_clEv"} -!119 = !{i64 0, i64 2, !99} -!120 = !{!121} -!121 = distinct !{!121, !122, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE317_clEv: %agg.result"} -!122 = distinct !{!122, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE317_clEv"} -!123 = !{!124} -!124 = distinct !{!124, !125, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE3_clESA_: %agg.result"} -!125 = distinct !{!125, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE3_clESA_"} -!126 = !{!127, !127, i64 0} -!127 = !{!"int", !70, i64 0} -!128 = !{!129, !129, i64 0} -!129 = !{!"any pointer", !70, i64 0} -!130 = !{i32 6748631} -!131 = !{!132, !129, i64 0} -!132 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} -!133 = !{i32 10504624} -!134 = distinct !{!134, !103} -!135 = !{!136} -!136 = distinct !{!136, !137, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESG_: %agg.result"} -!137 = distinct !{!137, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESG_"} -!138 = !{!139} -!139 = distinct !{!139, !140, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE610_clEv: %agg.result"} -!140 = distinct !{!140, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE610_clEv"} -!141 = !{i32 1361567} -!142 = !{i32 8331496} -!143 = !{i32 10505829} -!144 = distinct !{!144, !103} -!145 = !{i32 12918941} -!146 = distinct !{!146, !103} -!147 = !{!148} -!148 = distinct !{!148, !149, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE586_clEv: %agg.result"} -!149 = distinct !{!149, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE586_clEv"} -!150 = !{i32 10492919} -!151 = distinct !{!151, !103} -!152 = !{!153} -!153 = distinct !{!153, !154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE173_clEv: %agg.result"} -!154 = distinct !{!154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE173_clEv"} -!155 = !{i32 7650405} -!156 = !{i32 10496367} -!157 = distinct !{!157, !103} -!158 = !{!159} -!159 = distinct !{!159, !160, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESJ_: %agg.result"} -!160 = distinct !{!160, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESJ_"} -!161 = !{i32 10520570} -!162 = !{i32 1293617} -!163 = !{i32 10497778} -!164 = !{i32 7749969} -!165 = !{i32 10491554} -!166 = distinct !{!166, !103} -!167 = distinct !{!167, !103} -!168 = !{i32 10862736} -!169 = !{!170} -!170 = distinct !{!170, !171, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!171 = distinct !{!171, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!172 = !{i32 282921} -!173 = !{!174, !129, i64 0} -!174 = !{!"_ZTSZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!175 = !{!176} -!176 = distinct !{!176, !177, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE283_clEv: %agg.result"} -!177 = distinct !{!177, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE283_clEv"} -!178 = !{!179} -!179 = distinct !{!179, !180, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE136_clEv: %agg.result"} -!180 = distinct !{!180, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE136_clEv"} -!181 = !{i32 282425} -!182 = !{i32 6841455} -!183 = !{i32 10876294} -!184 = !{!185} -!185 = distinct !{!185, !186, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!186 = distinct !{!186, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!187 = !{!188} -!188 = distinct !{!188, !189, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE653_clEv: %agg.result"} -!189 = distinct !{!189, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE653_clEv"} -!190 = !{i64 0, i64 10, !69} -!191 = !{i64 0, i64 20, !69} -!192 = distinct !{!192, !103} -!193 = !{i32 8481147} -!194 = !{i32 10517071} -!195 = distinct !{!195, !103} -!196 = !{!197} -!197 = distinct !{!197, !198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE507_clEv: %agg.result"} -!198 = distinct !{!198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE507_clEv"} -!199 = !{i64 0, i64 8, !69} -!200 = !{!201} -!201 = distinct !{!201, !202, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE494_clEv: %agg.result"} -!202 = distinct !{!202, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE494_clEv"} -!203 = !{!204} -!204 = distinct !{!204, !205, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE364_clEv: %agg.result"} -!205 = distinct !{!205, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE364_clEv"} -!206 = !{i64 0, i64 6, !69} -!207 = !{i32 7577226} -!208 = !{i32 10871246} -!209 = !{i64 0, i64 16, !69} -!210 = !{!211} -!211 = distinct !{!211, !212, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!212 = distinct !{!212, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!213 = !{!214} -!214 = distinct !{!214, !215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE525_clEv: %agg.result"} -!215 = distinct !{!215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE525_clEv"} -!216 = !{!217} -!217 = distinct !{!217, !218, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE338_clEv: %agg.result"} -!218 = distinct !{!218, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE338_clEv"} -!219 = !{!220} -!220 = distinct !{!220, !221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE118_clEv: %agg.result"} -!221 = distinct !{!221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE118_clEv"} -!222 = !{i32 1191920} -!223 = !{i32 10862256} -!224 = !{!225} -!225 = distinct !{!225, !226, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!226 = distinct !{!226, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!227 = !{i32 7571652} -!228 = !{i32 10514035} -!229 = distinct !{!229, !103} -!230 = !{i32 10877955} -!231 = !{!232} -!232 = distinct !{!232, !233, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!233 = distinct !{!233, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!234 = !{i32 5947327} -!235 = !{i32 10880629} -!236 = !{!237} -!237 = distinct !{!237, !238, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!238 = distinct !{!238, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!239 = !{i32 10869692} -!240 = !{!241} -!241 = distinct !{!241, !242, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!242 = distinct !{!242, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!243 = !{i32 10857866} -!244 = !{!245} -!245 = distinct !{!245, !246, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!246 = distinct !{!246, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!247 = !{i32 1308381} -!248 = !{i32 10517626} -!249 = !{!250} -!250 = distinct !{!250, !251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE7_clEv: %agg.result"} -!251 = distinct !{!251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE7_clEv"} -!252 = !{i32 1232300} -!253 = !{!254, !129, i64 0} -!254 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!255 = !{i32 6700049} -!256 = !{!257, !129, i64 0} -!257 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} -!258 = !{!259} -!259 = distinct !{!259, !260, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE182_clEv: %agg.result"} -!260 = distinct !{!260, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE182_clEv"} -!261 = !{!262} -!262 = distinct !{!262, !263, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE191_clEv: %agg.result"} -!263 = distinct !{!263, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE191_clEv"} -!264 = !{!265} -!265 = distinct !{!265, !266, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE608_clEv: %agg.result"} -!266 = distinct !{!266, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE608_clEv"} -!267 = !{!268} -!268 = distinct !{!268, !269, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE212_clEv: %agg.result"} -!269 = distinct !{!269, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE212_clEv"} -!270 = !{i32 1231862} -!271 = !{i32 10508334} -!272 = !{i32 1193719} -!273 = !{i32 10792593} -!274 = !{!275} -!275 = distinct !{!275, !276, !"_Z14__invoke_exp10IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!276 = distinct !{!276, !"_Z14__invoke_exp10IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!277 = !{i32 -2140800316} -!278 = !{i32 10512812} -!279 = !{i32 1237993} -!280 = !{i32 10855478} -!281 = !{!282} -!282 = distinct !{!282, !283, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!283 = distinct !{!283, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!284 = !{!285} -!285 = distinct !{!285, !286, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE4_clEv: %agg.result"} -!286 = distinct !{!286, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE4_clEv"} -!287 = !{!288} -!288 = distinct !{!288, !289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE260_clEv: %agg.result"} -!289 = distinct !{!289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE260_clEv"} -!290 = !{!291} -!291 = distinct !{!291, !292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE432_clEv: %agg.result"} -!292 = distinct !{!292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE432_clEv"} -!293 = !{!294} -!294 = distinct !{!294, !295, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE598_clEv: %agg.result"} -!295 = distinct !{!295, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE598_clEv"} -!296 = !{i32 10872525} -!297 = !{!298} -!298 = distinct !{!298, !299, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!299 = distinct !{!299, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!300 = !{i32 1191978} -!301 = !{i32 8559051} -!302 = !{i32 6748889} -!303 = !{!304, !129, i64 0} -!304 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} -!305 = !{i32 5947175} -!306 = !{!307, !129, i64 0} -!307 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE0EEE", !129, i64 0} -!308 = !{!309} -!309 = distinct !{!309, !310, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!310 = distinct !{!310, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!311 = !{i32 1254628} -!312 = !{!313, !129, i64 24} -!313 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!314 = !{!"_ZTSN4sycl3_V16detail23LocalAccessorBaseDeviceILi1EEE", !315, i64 0, !315, i64 8, !317, i64 16} -!315 = !{!"_ZTSN4sycl3_V15rangeILi1EEE", !316, i64 0} -!316 = !{!"_ZTSN4sycl3_V16detail5arrayILi1EEE", !70, i64 0} -!317 = !{!"_ZTSN4sycl3_V12idILi1EEE", !316, i64 0} -!318 = !{i32 10805267} -!319 = !{!320} -!320 = distinct !{!320, !321, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!321 = distinct !{!321, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} -!322 = !{i32 10493428} -!323 = !{i32 13072200} -!324 = !{i32 1192046} -!325 = !{i32 8560746} -!326 = !{!327} -!327 = distinct !{!327, !328, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE67_clEv: %agg.result"} -!328 = distinct !{!328, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE67_clEv"} -!329 = !{i32 6708747} -!330 = !{!331, !129, i64 0} -!331 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} -!332 = !{i32 10871600} -!333 = !{!334} -!334 = distinct !{!334, !335, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!335 = distinct !{!335, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!336 = !{i32 1293908} -!337 = !{!338, !129, i64 0} -!338 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EE6__initEPU3AS3S4_NS0_5rangeILi1EEESC_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!339 = !{!338, !129, i64 8} -!340 = !{!341, !341, i64 0} -!341 = !{!"long", !70, i64 0} -!342 = !{i32 10519660} -!343 = !{i32 6011067} -!344 = distinct !{!344, !103} -!345 = !{i32 3729002} -!346 = !{i32 10504126} -!347 = distinct !{!347, !103} -!348 = !{!349} -!349 = distinct !{!349, !350, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE254_clEv: %agg.result"} -!350 = distinct !{!350, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE254_clEv"} -!351 = !{i32 6709005} -!352 = !{!353, !129, i64 0} -!353 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} -!354 = !{i32 6700781} -!355 = !{!356} -!356 = distinct !{!356, !357, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE744_clEv: %agg.result"} -!357 = distinct !{!357, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE744_clEv"} -!358 = !{!359} -!359 = distinct !{!359, !360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE263_clEv: %agg.result"} -!360 = distinct !{!360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE263_clEv"} -!361 = !{i32 1233397} -!362 = !{i32 10853955} -!363 = !{!364} -!364 = distinct !{!364, !365, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!365 = distinct !{!365, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!366 = !{i32 10503079} -!367 = !{i32 10885699} -!368 = !{!369} -!369 = distinct !{!369, !370, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!370 = distinct !{!370, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!371 = !{i32 1241550} -!372 = !{!373, !129, i64 0} -!373 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!374 = !{i32 10523887} -!375 = distinct !{!375, !103} -!376 = !{i32 10866384} -!377 = !{!378} -!378 = distinct !{!378, !379, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!379 = distinct !{!379, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!380 = !{!381} -!381 = distinct !{!381, !382, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE296_clEv: %agg.result"} -!382 = distinct !{!382, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE296_clEv"} -!383 = !{!384, !129, i64 0} -!384 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE1EEE", !129, i64 0} -!385 = !{!386} -!386 = distinct !{!386, !387, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE101_clEv: %agg.result"} -!387 = distinct !{!387, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE101_clEv"} -!388 = !{i32 10794751} -!389 = !{!390} -!390 = distinct !{!390, !391, !"_Z13__invoke_fminIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!391 = distinct !{!391, !"_Z13__invoke_fminIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!392 = !{i32 2819507} -!393 = !{i32 7541539} -!394 = !{i32 1282155} -!395 = !{i32 7651328} -!396 = !{i32 10524342} -!397 = distinct !{!397, !103} -!398 = !{!399} -!399 = distinct !{!399, !400, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE731_clEv: %agg.result"} -!400 = distinct !{!400, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE731_clEv"} -!401 = !{i64 0, i64 34, !69} -!402 = !{i32 10490641} -!403 = !{!404} -!404 = distinct !{!404, !405, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE0_clESA_: %agg.result"} -!405 = distinct !{!405, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE0_clESA_"} -!406 = !{!407} -!407 = distinct !{!407, !408, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} -!408 = distinct !{!408, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} -!409 = !{!410} -!410 = distinct !{!410, !411, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!411 = distinct !{!411, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!412 = !{i32 7650735} -!413 = !{i32 7651402} -!414 = !{!415} -!415 = distinct !{!415, !416, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE4_clESD_: %agg.result"} -!416 = distinct !{!416, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE4_clESD_"} -!417 = !{i32 6739933} -!418 = !{!419, !129, i64 0} -!419 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} -!420 = !{i32 10522986} -!421 = !{!422} -!422 = distinct !{!422, !423, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE135_clEv: %agg.result"} -!423 = distinct !{!423, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE135_clEv"} -!424 = !{i32 10863614} -!425 = !{!426} -!426 = distinct !{!426, !427, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!427 = distinct !{!427, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!428 = !{!429} -!429 = distinct !{!429, !430, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE38_clEv: %agg.result"} -!430 = distinct !{!430, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE38_clEv"} -!431 = !{i32 -2140790877} -!432 = !{i32 10491096} -!433 = distinct !{!433, !103} -!434 = !{!435, !129, i64 0} -!435 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} -!436 = !{i32 10800503} -!437 = !{!438} -!438 = distinct !{!438, !439, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!439 = distinct !{!439, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} -!440 = !{!441} -!441 = distinct !{!441, !442, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE421_clEv: %agg.result"} -!442 = distinct !{!442, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE421_clEv"} -!443 = !{i32 10507467} -!444 = !{i32 6742080} -!445 = !{!446} -!446 = distinct !{!446, !447, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE702_clEv: %agg.result"} -!447 = distinct !{!447, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE702_clEv"} -!448 = distinct !{!448, !103} -!449 = !{!450, !129, i64 0} -!450 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} -!451 = !{!452} -!452 = distinct !{!452, !453, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE756_clEv: %agg.result"} -!453 = distinct !{!453, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE756_clEv"} -!454 = !{i32 8558869} -!455 = !{i32 3724744} -!456 = !{i32 10498233} -!457 = distinct !{!457, !103} -!458 = !{i32 7651251} -!459 = !{!460} -!460 = distinct !{!460, !461, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE680_clEv: %agg.result"} -!461 = distinct !{!461, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE680_clEv"} -!462 = !{!463} -!463 = distinct !{!463, !464, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE479_clEv: %agg.result"} -!464 = distinct !{!464, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE479_clEv"} -!465 = !{i32 10524800} -!466 = !{i32 6757166} -!467 = !{i32 10495858} -!468 = distinct !{!468, !103} -!469 = !{i32 284018} -!470 = !{!471, !129, i64 0} -!471 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} -!472 = distinct !{!472, !103} -!473 = !{i32 284224} -!474 = !{!475} -!475 = distinct !{!475, !476, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE0_clESD_: %agg.result"} -!476 = distinct !{!476, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE0_clESD_"} -!477 = !{!478} -!478 = distinct !{!478, !479, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE89_clEv: %agg.result"} -!479 = distinct !{!479, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE89_clEv"} -!480 = !{i32 6840474} -!481 = !{i32 10801215} -!482 = !{!483} -!483 = distinct !{!483, !484, !"_Z12__invoke_logIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!484 = distinct !{!484, !"_Z12__invoke_logIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!485 = !{i32 1193513} -!486 = !{!487, !129, i64 0} -!487 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} -!488 = !{i32 10859770} -!489 = !{!490} -!490 = distinct !{!490, !491, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!491 = distinct !{!491, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!492 = distinct !{!492, !103} -!493 = !{i32 10803984} -!494 = !{!495} -!495 = distinct !{!495, !496, !"_Z15__invoke_minmagIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!496 = distinct !{!496, !"_Z15__invoke_minmagIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!497 = !{i32 10501454} -!498 = distinct !{!498, !103} -!499 = !{!500} -!500 = distinct !{!500, !501, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE127_clEv: %agg.result"} -!501 = distinct !{!501, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE127_clEv"} -!502 = !{i32 8331199} -!503 = !{i32 6740665} -!504 = !{i32 1305462} -!505 = !{i32 5987211} -!506 = !{i32 10521177} -!507 = distinct !{!507, !103} -!508 = !{!509, !129, i64 0} -!509 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE0EEE", !129, i64 0} -!510 = !{i32 5037832} -!511 = distinct !{!511, !103} -!512 = !{!513} -!513 = distinct !{!513, !514, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE4_clESD_: %agg.result"} -!514 = distinct !{!514, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE4_clESD_"} -!515 = !{i32 1233603} -!516 = !{i32 10867736} -!517 = !{!518} -!518 = distinct !{!518, !519, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_: %agg.result"} -!519 = distinct !{!519, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_"} -!520 = !{i32 1232478} -!521 = !{!522, !129, i64 0} -!522 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!523 = !{!522, !129, i64 8} -!524 = !{!522, !129, i64 16} -!525 = !{!522, !129, i64 24} -!526 = !{!527, !129, i64 0} -!527 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} -!528 = !{i32 283099} -!529 = !{!530, !129, i64 0} -!530 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!531 = !{!530, !129, i64 8} -!532 = !{!530, !129, i64 16} -!533 = !{!530, !129, i64 24} -!534 = !{i32 1355020} -!535 = distinct !{!535, !103} -!536 = !{!537, !129, i64 0} -!537 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!538 = !{!537, !129, i64 8} -!539 = !{!537, !129, i64 16} -!540 = !{!537, !129, i64 24} -!541 = !{!542} -!542 = distinct !{!542, !543, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE251_clEv: %agg.result"} -!543 = distinct !{!543, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE251_clEv"} -!544 = !{!545} -!545 = distinct !{!545, !546, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE79_clEv: %agg.result"} -!546 = distinct !{!546, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE79_clEv"} -!547 = distinct !{!547, !103} -!548 = !{i32 10879727} -!549 = !{!550} -!550 = distinct !{!550, !551, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!551 = distinct !{!551, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!552 = distinct !{!552, !103} -!553 = !{!554} -!554 = distinct !{!554, !555, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE161_clEv: %agg.result"} -!555 = distinct !{!555, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE161_clEv"} -!556 = !{i32 5987059} -!557 = !{i32 10884832} -!558 = !{!559} -!559 = distinct !{!559, !560, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!560 = distinct !{!560, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!561 = !{!562} -!562 = distinct !{!562, !563, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE44_clEv: %agg.result"} -!563 = distinct !{!563, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE44_clEv"} -!564 = !{i32 7750274} -!565 = !{!566} -!566 = distinct !{!566, !567, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE646_clEv: %agg.result"} -!567 = distinct !{!567, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE646_clEv"} -!568 = distinct !{!568, !103} -!569 = !{i32 8559900} -!570 = !{i32 1192416} -!571 = !{!572, !129, i64 0} -!572 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!573 = !{!574, !129, i64 0} -!574 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} -!575 = !{i32 6797050} -!576 = !{i32 280789} -!577 = !{!578, !129, i64 0} -!578 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!579 = !{!578, !129, i64 8} -!580 = !{!578, !129, i64 16} -!581 = !{i32 10508805} -!582 = distinct !{!582, !103} -!583 = !{i32 10796344} -!584 = !{!585} -!585 = distinct !{!585, !586, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!586 = distinct !{!586, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} -!587 = !{i32 7577785} -!588 = distinct !{!588, !103} -!589 = !{!590} -!590 = distinct !{!590, !591, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} -!591 = distinct !{!591, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} -!592 = distinct !{!592, !103} -!593 = !{!594} -!594 = distinct !{!594, !595, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE543_clEv: %agg.result"} -!595 = distinct !{!595, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE543_clEv"} -!596 = !{i32 10856293} -!597 = !{!598} -!598 = distinct !{!598, !599, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!599 = distinct !{!599, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!600 = !{!601} -!601 = distinct !{!601, !602, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE316_clEv: %agg.result"} -!602 = distinct !{!602, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE316_clEv"} -!603 = !{!604} -!604 = distinct !{!604, !605, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE323_clEv: %agg.result"} -!605 = distinct !{!605, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE323_clEv"} -!606 = !{i32 1254495} -!607 = !{!608} -!608 = distinct !{!608, !609, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} -!609 = distinct !{!609, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} -!610 = !{i32 12914431} -!611 = !{!612} -!612 = distinct !{!612, !613, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE119_clEv: %agg.result"} -!613 = distinct !{!613, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE119_clEv"} -!614 = !{!615} -!615 = distinct !{!615, !616, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!616 = distinct !{!616, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!617 = !{i32 10877295} -!618 = !{!619} -!619 = distinct !{!619, !620, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!620 = distinct !{!620, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!621 = !{!622, !129, i64 0} -!622 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} -!623 = !{i32 1253853} -!624 = !{!625, !129, i64 24} -!625 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!626 = !{!627, !129, i64 0} -!627 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!628 = !{i32 10860931} -!629 = !{!630} -!630 = distinct !{!630, !631, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!631 = distinct !{!631, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!632 = !{!633} -!633 = distinct !{!633, !634, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE104_clEv: %agg.result"} -!634 = distinct !{!634, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE104_clEv"} -!635 = !{i32 10876840} -!636 = !{!637} -!637 = distinct !{!637, !638, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_: %agg.result"} -!638 = distinct !{!638, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_"} -!639 = !{!640} -!640 = distinct !{!640, !641, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE346_clEv: %agg.result"} -!641 = distinct !{!641, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE346_clEv"} -!642 = !{!643} -!643 = distinct !{!643, !644, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE253_clEv: %agg.result"} -!644 = distinct !{!644, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE253_clEv"} -!645 = !{i32 6671729} -!646 = !{!647, !129, i64 0} -!647 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!648 = !{!649} -!649 = distinct !{!649, !650, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} -!650 = distinct !{!650, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} -!651 = !{i32 1241641} -!652 = !{!653, !129, i64 0} -!653 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!654 = !{!653, !129, i64 8} -!655 = !{i32 10852436} -!656 = !{!657} -!657 = distinct !{!657, !658, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!658 = distinct !{!658, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!659 = !{i32 10884314} -!660 = !{!661} -!661 = distinct !{!661, !662, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!662 = distinct !{!662, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!663 = !{i32 10886053} -!664 = !{!665} -!665 = distinct !{!665, !666, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!666 = distinct !{!666, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!667 = !{!668} -!668 = distinct !{!668, !669, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} -!669 = distinct !{!669, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} -!670 = !{!671} -!671 = distinct !{!671, !672, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE3_clESA_: %agg.result"} -!672 = distinct !{!672, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE3_clESA_"} -!673 = !{!674} -!674 = distinct !{!674, !675, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE728_clEv: %agg.result"} -!675 = distinct !{!675, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE728_clEv"} -!676 = !{i32 2815249} -!677 = !{!678, !129, i64 0} -!678 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} -!679 = !{!680} -!680 = distinct !{!680, !681, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE206_clEv: %agg.result"} -!681 = distinct !{!681, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE206_clEv"} -!682 = !{!683} -!683 = distinct !{!683, !684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE764_clEv: %agg.result"} -!684 = distinct !{!684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE764_clEv"} -!685 = !{i32 10860533} -!686 = !{!687} -!687 = distinct !{!687, !688, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!688 = distinct !{!688, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!689 = !{i64 0, i64 64, !69} -!690 = !{!691} -!691 = distinct !{!691, !692, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_: %agg.result"} -!692 = distinct !{!692, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_"} -!693 = !{i32 1293737} -!694 = !{!695, !129, i64 24} -!695 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!696 = !{!697, !129, i64 0} -!697 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!698 = !{i32 332055} -!699 = !{!700, !129, i64 0} -!700 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!701 = !{i32 282483} -!702 = !{!703} -!703 = distinct !{!703, !704, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE305_clEv: %agg.result"} -!704 = distinct !{!704, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE305_clEv"} -!705 = !{!706} -!706 = distinct !{!706, !707, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE292_clEv: %agg.result"} -!707 = distinct !{!707, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE292_clEv"} -!708 = !{!709} -!709 = distinct !{!709, !710, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE287_clEv: %agg.result"} -!710 = distinct !{!710, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE287_clEv"} -!711 = !{!712} -!712 = distinct !{!712, !713, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE527_clEv: %agg.result"} -!713 = distinct !{!713, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE527_clEv"} -!714 = distinct !{!714, !103} -!715 = !{i32 282770} -!716 = !{i32 10853146} -!717 = !{!718} -!718 = distinct !{!718, !719, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!719 = distinct !{!719, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!720 = !{!721} -!721 = distinct !{!721, !722, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_: %agg.result"} -!722 = distinct !{!722, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_"} -!723 = !{i32 1396264} -!724 = !{!725} -!725 = distinct !{!725, !726, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE339_clEv: %agg.result"} -!726 = distinct !{!726, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE339_clEv"} -!727 = !{i32 6702196} -!728 = !{i32 10521627} -!729 = distinct !{!729, !103} -!730 = !{!731, !129, i64 0} -!731 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} -!732 = !{!733} -!733 = distinct !{!733, !734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE_clESD_: %agg.result"} -!734 = distinct !{!734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE_clESD_"} -!735 = !{!736} -!736 = distinct !{!736, !737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE216_clEv: %agg.result"} -!737 = distinct !{!737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE216_clEv"} -!738 = !{!739, !129, i64 0} -!739 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} -!740 = !{!741, !129, i64 0} -!741 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} -!742 = !{!743} -!743 = distinct !{!743, !744, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE0_clESD_: %agg.result"} -!744 = distinct !{!744, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE0_clESD_"} -!745 = !{i32 10492006} -!746 = distinct !{!746, !103} -!747 = !{!748} -!748 = distinct !{!748, !749, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE473_clEv: %agg.result"} -!749 = distinct !{!749, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE473_clEv"} -!750 = !{i32 1264944} -!751 = !{i32 10799212} -!752 = !{!753} -!753 = distinct !{!753, !754, !"_Z15__invoke_lgammaIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!754 = distinct !{!754, !"_Z15__invoke_lgammaIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!755 = !{!756} -!756 = distinct !{!756, !757, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE652_clEv: %agg.result"} -!757 = distinct !{!757, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE652_clEv"} -!758 = !{i32 6840779} -!759 = !{!760} -!760 = distinct !{!760, !761, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE3_clESD_: %agg.result"} -!761 = distinct !{!761, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE3_clESD_"} -!762 = distinct !{!762, !103} -!763 = !{!764} -!764 = distinct !{!764, !765, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE110_clEv: %agg.result"} -!765 = distinct !{!765, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE110_clEv"} -!766 = !{i32 280706} -!767 = !{!768} -!768 = distinct !{!768, !769, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE748_clEv: %agg.result"} -!769 = distinct !{!769, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE748_clEv"} -!770 = !{!771} -!771 = distinct !{!771, !772, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE205_clEv: %agg.result"} -!772 = distinct !{!772, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE205_clEv"} -!773 = !{i32 1294379} -!774 = !{i32 10851022} -!775 = !{!776} -!776 = distinct !{!776, !777, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!777 = distinct !{!777, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!778 = !{!779} -!779 = distinct !{!779, !780, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE570_clEv: %agg.result"} -!780 = distinct !{!780, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE570_clEv"} -!781 = !{i32 10500035} -!782 = distinct !{!782, !103} -!783 = !{i32 10858216} -!784 = !{!785} -!785 = distinct !{!785, !786, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!786 = distinct !{!786, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!787 = !{!788} -!788 = distinct !{!788, !789, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE73_clEv: %agg.result"} -!789 = distinct !{!789, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE73_clEv"} -!790 = !{i32 10502481} -!791 = distinct !{!791, !103} -!792 = !{i32 10510778} -!793 = distinct !{!793, !103} -!794 = !{!795} -!795 = distinct !{!795, !796, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE162_clEv: %agg.result"} -!796 = distinct !{!796, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE162_clEv"} -!797 = !{!798} -!798 = distinct !{!798, !799, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESJ_: %agg.result"} -!799 = distinct !{!799, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESJ_"} -!800 = !{!801} -!801 = distinct !{!801, !802, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE460_clEv: %agg.result"} -!802 = distinct !{!802, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE460_clEv"} -!803 = !{i32 10506942} -!804 = distinct !{!804, !103} -!805 = !{!806, !127, i64 0} -!806 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300418EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !812, i64 104} -!807 = !{!"_ZTSN4sycl3_V114local_accessorIiLi1EEE", !808, i64 0} -!808 = !{!"_ZTSN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!809 = !{!"_ZTSN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEE", !810, i64 0, !70, i64 24} -!810 = !{!"_ZTSN4sycl3_V16detail18AccessorImplDeviceILi1EEE", !317, i64 0, !315, i64 8, !315, i64 16} -!811 = !{!"_ZTSN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEE", !810, i64 0, !70, i64 24} -!812 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE_"} -!813 = !{!814} -!814 = distinct !{!814, !815, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE_clES8_: %agg.result"} -!815 = distinct !{!815, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE_clES8_"} -!816 = !{!817} -!817 = distinct !{!817, !818, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE133_clEv: %agg.result"} -!818 = distinct !{!818, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE133_clEv"} -!819 = !{!820} -!820 = distinct !{!820, !821, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE602_clEv: %agg.result"} -!821 = distinct !{!821, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE602_clEv"} -!822 = !{!823} -!823 = distinct !{!823, !824, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE1_clESD_: %agg.result"} -!824 = distinct !{!824, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE1_clESD_"} -!825 = distinct !{!825, !103} -!826 = !{!827} -!827 = distinct !{!827, !828, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE466_clEv: %agg.result"} -!828 = distinct !{!828, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE466_clEv"} -!829 = !{!830} -!830 = distinct !{!830, !831, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE815_clEv: %agg.result"} -!831 = distinct !{!831, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE815_clEv"} -!832 = !{!833} -!833 = distinct !{!833, !834, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE396_clEv: %agg.result"} -!834 = distinct !{!834, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE396_clEv"} -!835 = !{!836} -!836 = distinct !{!836, !837, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE394_clEv: %agg.result"} -!837 = distinct !{!837, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE394_clEv"} -!838 = !{i32 10510326} -!839 = distinct !{!839, !103} -!840 = !{!841} -!841 = distinct !{!841, !842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} -!842 = distinct !{!842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} -!843 = !{i32 10886409} -!844 = !{!845} -!845 = distinct !{!845, !846, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!846 = distinct !{!846, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!847 = !{i32 10797836} -!848 = !{!849} -!849 = distinct !{!849, !850, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!850 = distinct !{!850, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} -!851 = distinct !{!851, !103} -!852 = distinct !{!852, !103} -!853 = !{i32 282551} -!854 = !{!855, !129, i64 0} -!855 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!856 = !{!855, !129, i64 8} -!857 = !{!858, !129, i64 0} -!858 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!859 = !{i32 10798633} -!860 = !{i32 10885347} -!861 = !{!862} -!862 = distinct !{!862, !863, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!863 = distinct !{!863, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!864 = !{i32 10863134} -!865 = !{!866} -!866 = distinct !{!866, !867, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!867 = distinct !{!867, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!868 = !{i32 10789797} -!869 = !{!870} -!870 = distinct !{!870, !871, !"_Z12__invoke_cosIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!871 = distinct !{!871, !"_Z12__invoke_cosIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!872 = distinct !{!872, !103} -!873 = !{i32 10511688} -!874 = !{i32 10508029} -!875 = distinct !{!875, !103} -!876 = !{!877} -!877 = distinct !{!877, !878, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE688_clEv: %agg.result"} -!878 = distinct !{!878, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE688_clEv"} -!879 = !{!880} -!880 = distinct !{!880, !881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE585_clEv: %agg.result"} -!881 = distinct !{!881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE585_clEv"} -!882 = distinct !{!882, !103} -!883 = !{i32 10809400} -!884 = !{!885} -!885 = distinct !{!885, !886, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_T2_: %agg.result"} -!886 = distinct !{!886, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_T2_"} -!887 = !{!888, !129, i64 0} -!888 = !{!"_ZTSZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!889 = !{!888, !129, i64 8} -!890 = !{i32 10522079} -!891 = distinct !{!891, !103} -!892 = !{i32 7580476} -!893 = !{!894} -!894 = distinct !{!894, !895, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE204_clEv: %agg.result"} -!895 = distinct !{!895, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE204_clEv"} -!896 = !{!897} -!897 = distinct !{!897, !898, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE318_clEv: %agg.result"} -!898 = distinct !{!898, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE318_clEv"} -!899 = !{!900} -!900 = distinct !{!900, !901, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE581_clEv: %agg.result"} -!901 = distinct !{!901, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE581_clEv"} -!902 = !{i32 10872026} -!903 = !{!904} -!904 = distinct !{!904, !905, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!905 = distinct !{!905, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_S6_ET_T0_T1_T2_"} -!906 = !{!907, !129, i64 0} -!907 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} -!908 = !{!909} -!909 = distinct !{!909, !910, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} -!910 = distinct !{!910, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} -!911 = !{i32 10868170} -!912 = !{!913} -!913 = distinct !{!913, !914, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!914 = distinct !{!914, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!915 = !{!916, !129, i64 0} -!916 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!917 = !{!916, !129, i64 8} -!918 = !{!919} -!919 = distinct !{!919, !920, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE605_clEv: %agg.result"} -!920 = distinct !{!920, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE605_clEv"} -!921 = !{!922} -!922 = distinct !{!922, !923, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE214_clEv: %agg.result"} -!923 = distinct !{!923, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE214_clEv"} -!924 = !{i32 1190201} -!925 = !{!926, !129, i64 0} -!926 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!927 = !{i32 10852790} -!928 = !{!929} -!929 = distinct !{!929, !930, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!930 = distinct !{!930, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!931 = !{!932} -!932 = distinct !{!932, !933, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE675_clEv: %agg.result"} -!933 = distinct !{!933, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE675_clEv"} -!934 = !{!935} -!935 = distinct !{!935, !936, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE595_clEv: %agg.result"} -!936 = distinct !{!936, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE595_clEv"} -!937 = !{i32 10494384} -!938 = distinct !{!938, !103} -!939 = !{i32 1242271} -!940 = !{!941} -!941 = distinct !{!941, !942, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE669_clEv: %agg.result"} -!942 = distinct !{!942, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE669_clEv"} -!943 = !{!944, !129, i64 0} -!944 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} -!945 = !{!946} -!946 = distinct !{!946, !947, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE47_clEv: %agg.result"} -!947 = distinct !{!947, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE47_clEv"} -!948 = !{!949} -!949 = distinct !{!949, !950, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE332_clEv: %agg.result"} -!950 = distinct !{!950, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE332_clEv"} -!951 = !{!952} -!952 = distinct !{!952, !953, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE293_clEv: %agg.result"} -!953 = distinct !{!953, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE293_clEv"} -!954 = !{i32 8486721} -!955 = !{!956} -!956 = distinct !{!956, !957, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!957 = distinct !{!957, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} -!958 = !{!959} -!959 = distinct !{!959, !960, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE39_clEv: %agg.result"} -!960 = distinct !{!960, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE39_clEv"} -!961 = !{i32 10516711} -!962 = distinct !{!962, !103} -!963 = distinct !{!963, !103} -!964 = !{!965} -!965 = distinct !{!965, !966, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE181_clEv: %agg.result"} -!966 = distinct !{!966, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE181_clEv"} -!967 = !{i32 10860124} -!968 = !{!969} -!969 = distinct !{!969, !970, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!970 = distinct !{!970, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!971 = !{i32 7422001} -!972 = !{!973} -!973 = distinct !{!973, !974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE425_clEv: %agg.result"} -!974 = distinct !{!974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE425_clEv"} -!975 = !{i32 10499583} -!976 = distinct !{!976, !103} -!977 = !{!978} -!978 = distinct !{!978, !979, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE69_clEv: %agg.result"} -!979 = distinct !{!979, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE69_clEv"} -!980 = !{!981} -!981 = distinct !{!981, !982, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE311_clEv: %agg.result"} -!982 = distinct !{!982, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE311_clEv"} -!983 = !{i32 10853555} -!984 = !{!985} -!985 = distinct !{!985, !986, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!986 = distinct !{!986, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!987 = !{!988} -!988 = distinct !{!988, !989, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE413_clEv: %agg.result"} -!989 = distinct !{!989, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE413_clEv"} -!990 = distinct !{!990, !103} -!991 = !{i32 10506436} -!992 = distinct !{!992, !103} -!993 = !{!994} -!994 = distinct !{!994, !995, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} -!995 = distinct !{!995, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} -!996 = !{i32 -2140801031} -!997 = !{i32 10854309} -!998 = !{!999} -!999 = distinct !{!999, !1000, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!1000 = distinct !{!1000, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!1001 = !{!1002, !129, i64 0} -!1002 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!1003 = !{!1004} -!1004 = distinct !{!1004, !1005, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE666_clEv: %agg.result"} -!1005 = distinct !{!1005, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE666_clEv"} -!1006 = !{!1007, !129, i64 0} -!1007 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} -!1008 = !{!1009} -!1009 = distinct !{!1009, !1010, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} -!1010 = distinct !{!1010, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} -!1011 = distinct !{!1011, !103} -!1012 = !{!1013} -!1013 = distinct !{!1013, !1014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE599_clEv: %agg.result"} -!1014 = distinct !{!1014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE599_clEv"} -!1015 = !{!1016} -!1016 = distinct !{!1016, !1017, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE485_clEv: %agg.result"} -!1017 = distinct !{!1017, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE485_clEv"} -!1018 = !{!1019} -!1019 = distinct !{!1019, !1020, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE88_clEv: %agg.result"} -!1020 = distinct !{!1020, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE88_clEv"} -!1021 = !{!1022, !127, i64 0} -!1022 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300539EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE2_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !1023, i64 104} -!1023 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE2_"} -!1024 = !{!1025} -!1025 = distinct !{!1025, !1026, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} -!1026 = distinct !{!1026, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} -!1027 = !{!1028, !129, i64 0} -!1028 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1029 = !{!1030} -!1030 = distinct !{!1030, !1031, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE266_clEv: %agg.result"} -!1031 = distinct !{!1031, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE266_clEv"} -!1032 = !{!1033, !129, i64 0} -!1033 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!1034 = !{!1033, !129, i64 8} -!1035 = !{!1033, !129, i64 16} -!1036 = !{i32 10790696} -!1037 = !{!1038} -!1038 = distinct !{!1038, !1039, !"_Z13__invoke_erfcIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1039 = distinct !{!1039, !"_Z13__invoke_erfcIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1040 = !{!1041} -!1041 = distinct !{!1041, !1042, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!1042 = distinct !{!1042, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!1043 = !{!1044} -!1044 = distinct !{!1044, !1045, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE493_clEv: %agg.result"} -!1045 = distinct !{!1045, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE493_clEv"} -!1046 = !{!1047} -!1047 = distinct !{!1047, !1048, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE3_clESB_: %agg.result"} -!1048 = distinct !{!1048, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE3_clESB_"} -!1049 = !{!1050, !129, i64 0} -!1050 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} -!1051 = !{i32 10802757} -!1052 = !{!1053} -!1053 = distinct !{!1053, !1054, !"_Z14__invoke_log1pIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1054 = distinct !{!1054, !"_Z14__invoke_log1pIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1055 = !{i32 6671413} -!1056 = !{!1057} -!1057 = distinct !{!1057, !1058, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE647_clEv: %agg.result"} -!1058 = distinct !{!1058, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE647_clEv"} -!1059 = !{!1060, !129, i64 0} -!1060 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!1061 = !{!1060, !129, i64 8} -!1062 = !{i32 1265578} -!1063 = !{i32 10494899} -!1064 = distinct !{!1064, !103} -!1065 = !{!1066} -!1066 = distinct !{!1066, !1067, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE771_clEv: %agg.result"} -!1067 = distinct !{!1067, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE771_clEv"} -!1068 = distinct !{!1068, !103} -!1069 = !{!1070} -!1070 = distinct !{!1070, !1071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE74_clEv: %agg.result"} -!1071 = distinct !{!1071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE74_clEv"} -!1072 = !{!1073} -!1073 = distinct !{!1073, !1074, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE730_clEv: %agg.result"} -!1074 = distinct !{!1074, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE730_clEv"} -!1075 = !{!1076} -!1076 = distinct !{!1076, !1077, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE475_clEv: %agg.result"} -!1077 = distinct !{!1077, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE475_clEv"} -!1078 = !{!1079} -!1079 = distinct !{!1079, !1080, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE631_clEv: %agg.result"} -!1080 = distinct !{!1080, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE631_clEv"} -!1081 = distinct !{!1081, !103} -!1082 = !{i32 10519355} -!1083 = distinct !{!1083, !103} -!1084 = !{!1085} -!1085 = distinct !{!1085, !1086, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!1086 = distinct !{!1086, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!1087 = !{!1088, !129, i64 0} -!1088 = !{!"_ZTSZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1089 = !{!1090, !129, i64 0} -!1090 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} -!1091 = !{!1092} -!1092 = distinct !{!1092, !1093, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!1093 = distinct !{!1093, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_S6_ET_T0_T1_T2_"} -!1094 = !{i32 5939387} -!1095 = !{i32 10857514} -!1096 = !{!1097} -!1097 = distinct !{!1097, !1098, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!1098 = distinct !{!1098, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!1099 = !{i32 10861858} -!1100 = !{!1101} -!1101 = distinct !{!1101, !1102, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!1102 = distinct !{!1102, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!1103 = !{i32 1277877} -!1104 = distinct !{!1104, !103} -!1105 = !{!1106} -!1106 = distinct !{!1106, !1107, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE480_clEv: %agg.result"} -!1107 = distinct !{!1107, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE480_clEv"} -!1108 = !{i32 1231930} -!1109 = !{i32 1304828} -!1110 = distinct !{!1110, !103} -!1111 = !{!1112} -!1112 = distinct !{!1112, !1113, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE478_clEv: %agg.result"} -!1113 = distinct !{!1113, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE478_clEv"} -!1114 = !{!1115} -!1115 = distinct !{!1115, !1116, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE301_clEv: %agg.result"} -!1116 = distinct !{!1116, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE301_clEv"} -!1117 = distinct !{!1117, !103} -!1118 = !{!1119} -!1119 = distinct !{!1119, !1120, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE600_clEv: %agg.result"} -!1120 = distinct !{!1120, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE600_clEv"} -!1121 = distinct !{!1121, !103} -!1122 = !{!1123} -!1123 = distinct !{!1123, !1124, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} -!1124 = distinct !{!1124, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} -!1125 = !{!1126} -!1126 = distinct !{!1126, !1127, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE298_clEv: %agg.result"} -!1127 = distinct !{!1127, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE298_clEv"} -!1128 = !{i32 10497326} -!1129 = !{i32 1254024} -!1130 = !{!1131, !129, i64 0} -!1131 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!1132 = !{!1131, !129, i64 8} -!1133 = !{!1134} -!1134 = distinct !{!1134, !1135, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE763_clEv: %agg.result"} -!1135 = distinct !{!1135, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE763_clEv"} -!1136 = !{!1137} -!1137 = distinct !{!1137, !1138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE148_clEv: %agg.result"} -!1138 = distinct !{!1138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE148_clEv"} -!1139 = !{!1140} -!1140 = distinct !{!1140, !1141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE752_clEv: %agg.result"} -!1141 = distinct !{!1141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE752_clEv"} -!1142 = !{i64 0, i64 12, !69} -!1143 = !{!1144} -!1144 = distinct !{!1144, !1145, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE0_clESA_: %agg.result"} -!1145 = distinct !{!1145, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE0_clESA_"} -!1146 = !{!1147} -!1147 = distinct !{!1147, !1148, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE804_clEv: %agg.result"} -!1148 = distinct !{!1148, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE804_clEv"} -!1149 = !{!1150} -!1150 = distinct !{!1150, !1151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE571_clEv: %agg.result"} -!1151 = distinct !{!1151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE571_clEv"} -!1152 = !{!1153} -!1153 = distinct !{!1153, !1154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE240_clEv: %agg.result"} -!1154 = distinct !{!1154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE240_clEv"} -!1155 = !{i32 10872984} -!1156 = !{!1157} -!1157 = distinct !{!1157, !1158, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!1158 = distinct !{!1158, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!1159 = !{!1160, !129, i64 0} -!1160 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} -!1161 = distinct !{!1161, !103} -!1162 = distinct !{!1162, !103} -!1163 = !{!1164} -!1164 = distinct !{!1164, !1165, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE310_clEv: %agg.result"} -!1165 = distinct !{!1165, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE310_clEv"} -!1166 = !{i32 10512214} -!1167 = distinct !{!1167, !103} -!1168 = !{!1169} -!1169 = distinct !{!1169, !1170, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE751_clEv: %agg.result"} -!1170 = distinct !{!1170, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE751_clEv"} -!1171 = !{i32 -2140788401} -!1172 = !{!1173} -!1173 = distinct !{!1173, !1174, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE26_clEv: %agg.result"} -!1174 = distinct !{!1174, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE26_clEv"} -!1175 = !{i32 7429784} -!1176 = distinct !{!1176, !103} -!1177 = !{!1178} -!1178 = distinct !{!1178, !1179, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE448_clEv: %agg.result"} -!1179 = distinct !{!1179, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE448_clEv"} -!1180 = !{!1181, !127, i64 4} -!1181 = !{!"_ZTS15privatePtrCheckIN4sycl3_V16detail9half_impl4halfEiE", !1182, i64 0, !127, i64 4} -!1182 = !{!"_ZTSN4sycl3_V16detail9half_impl4halfE", !100, i64 0} -!1183 = !{i32 1281525} -!1184 = !{!1185, !129, i64 0} -!1185 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!1186 = !{!1185, !129, i64 8} -!1187 = !{i32 10811561} -!1188 = !{!1189} -!1189 = distinct !{!1189, !1190, !"_Z12__invoke_sinIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1190 = distinct !{!1190, !"_Z12__invoke_sinIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1191 = !{!1192, !127, i64 0} -!1192 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300538EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE1_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !1193, i64 104} -!1193 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE1_"} -!1194 = !{!1195} -!1195 = distinct !{!1195, !1196, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE784_clEv: %agg.result"} -!1196 = distinct !{!1196, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE784_clEv"} -!1197 = distinct !{!1197, !103} -!1198 = !{i32 10854722} -!1199 = !{!1200} -!1200 = distinct !{!1200, !1201, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!1201 = distinct !{!1201, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!1202 = !{i32 10880229} -!1203 = !{!1204} -!1204 = distinct !{!1204, !1205, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_: %agg.result"} -!1205 = distinct !{!1205, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_"} -!1206 = !{!1207, !129, i64 0} -!1207 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} -!1208 = !{!1209} -!1209 = distinct !{!1209, !1210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE322_clEv: %agg.result"} -!1210 = distinct !{!1210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE322_clEv"} -!1211 = !{!1212} -!1212 = distinct !{!1212, !1213, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE157_clEv: %agg.result"} -!1213 = distinct !{!1213, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE157_clEv"} -!1214 = distinct !{!1214, !103} -!1215 = !{i32 516680} -!1216 = !{!1182, !100, i64 0} -!1217 = distinct !{!1217, !103} -!1218 = !{i32 10785933} -!1219 = !{!1220} -!1220 = distinct !{!1220, !1221, !"_Z14__invoke_acoshIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1221 = distinct !{!1221, !"_Z14__invoke_acoshIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1222 = !{!1223} -!1223 = distinct !{!1223, !1224, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE808_clEv: %agg.result"} -!1224 = distinct !{!1224, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE808_clEv"} -!1225 = !{i32 10858731} -!1226 = !{!1227} -!1227 = distinct !{!1227, !1228, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!1228 = distinct !{!1228, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!1229 = !{i32 5943696} -!1230 = !{!1231} -!1231 = distinct !{!1231, !1232, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_T2_: %agg.result"} -!1232 = distinct !{!1232, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_T2_"} -!1233 = !{!1234, !129, i64 0} -!1234 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1235 = distinct !{!1235, !103} -!1236 = !{i32 8559753} -!1237 = !{!1238} -!1238 = distinct !{!1238, !1239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE80_clEv: %agg.result"} -!1239 = distinct !{!1239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE80_clEv"} -!1240 = !{!1241} -!1241 = distinct !{!1241, !1242, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE620_clEv: %agg.result"} -!1242 = distinct !{!1242, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE620_clEv"} -!1243 = !{!1244} -!1244 = distinct !{!1244, !1245, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE221_clEv: %agg.result"} -!1245 = distinct !{!1245, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE221_clEv"} -!1246 = !{!1247} -!1247 = distinct !{!1247, !1248, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!1248 = distinct !{!1248, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!1249 = !{!1250} -!1250 = distinct !{!1250, !1251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE1_clESB_: %agg.result"} -!1251 = distinct !{!1251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE1_clESB_"} -!1252 = !{!1253} -!1253 = distinct !{!1253, !1254, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE503_clEv: %agg.result"} -!1254 = distinct !{!1254, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE503_clEv"} -!1255 = !{i32 10875829} -!1256 = !{!1257} -!1257 = distinct !{!1257, !1258, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!1258 = distinct !{!1258, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!1259 = !{!1260} -!1260 = distinct !{!1260, !1261, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE_clESA_: %agg.result"} -!1261 = distinct !{!1261, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE_clESA_"} -!1262 = !{!1263} -!1263 = distinct !{!1263, !1264, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE248_clEv: %agg.result"} -!1264 = distinct !{!1264, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE248_clEv"} -!1265 = !{!627, !129, i64 8} -!1266 = !{!1267, !129, i64 0} -!1267 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} -!1268 = !{!1269} -!1269 = distinct !{!1269, !1270, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE777_clEv: %agg.result"} -!1270 = distinct !{!1270, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE777_clEv"} -!1271 = !{i32 12009446} -!1272 = distinct !{!1272, !103} -!1273 = !{!1274} -!1274 = distinct !{!1274, !1275, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!1275 = distinct !{!1275, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!1276 = !{!1277} -!1277 = distinct !{!1277, !1278, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE690_clEv: %agg.result"} -!1278 = distinct !{!1278, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE690_clEv"} -!1279 = distinct !{!1279, !103} -!1280 = !{!1281} -!1281 = distinct !{!1281, !1282, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE492_clEv: %agg.result"} -!1282 = distinct !{!1282, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE492_clEv"} -!1283 = !{i32 8560897} -!1284 = distinct !{!1284, !103} -!1285 = !{!1286} -!1286 = distinct !{!1286, !1287, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE90_clEv: %agg.result"} -!1287 = distinct !{!1287, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE90_clEv"} -!1288 = distinct !{!1288, !103} -!1289 = distinct !{!1289, !103} -!1290 = !{!1291} -!1291 = distinct !{!1291, !1292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} -!1292 = distinct !{!1292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} -!1293 = distinct !{!1293, !103} -!1294 = !{!1295} -!1295 = distinct !{!1295, !1296, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE175_clEv: %agg.result"} -!1296 = distinct !{!1296, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE175_clEv"} -!1297 = distinct !{!1297, !103} -!1298 = !{!1299} -!1299 = distinct !{!1299, !1300, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE40_clEv: %agg.result"} -!1300 = distinct !{!1300, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE40_clEv"} -!1301 = !{!1302} -!1302 = distinct !{!1302, !1303, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_T2_: %agg.result"} -!1303 = distinct !{!1303, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_T2_"} -!1304 = !{!1305} -!1305 = distinct !{!1305, !1306, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE66_clEv: %agg.result"} -!1306 = distinct !{!1306, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE66_clEv"} -!1307 = !{!1308} -!1308 = distinct !{!1308, !1309, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!1309 = distinct !{!1309, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} -!1310 = !{!1311} -!1311 = distinct !{!1311, !1312, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE589_clEv: %agg.result"} -!1312 = distinct !{!1312, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE589_clEv"} -!1313 = !{!1314} -!1314 = distinct !{!1314, !1315, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE235_clEv: %agg.result"} -!1315 = distinct !{!1315, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE235_clEv"} -!1316 = !{!1317} -!1317 = distinct !{!1317, !1318, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE333_clEv: %agg.result"} -!1318 = distinct !{!1318, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE333_clEv"} -!1319 = !{i32 10499134} -!1320 = distinct !{!1320, !103} -!1321 = !{!1322} -!1322 = distinct !{!1322, !1323, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE587_clEv: %agg.result"} -!1323 = distinct !{!1323, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE587_clEv"} -!1324 = !{!1325} -!1325 = distinct !{!1325, !1326, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!1326 = distinct !{!1326, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!1327 = !{!1328, !129, i64 0} -!1328 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} -!1329 = !{!1330} -!1330 = distinct !{!1330, !1331, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} -!1331 = distinct !{!1331, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} -!1332 = !{!1333} -!1333 = distinct !{!1333, !1334, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE510_clEv: %agg.result"} -!1334 = distinct !{!1334, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE510_clEv"} -!1335 = distinct !{!1335, !103} -!1336 = !{!1337} -!1337 = distinct !{!1337, !1338, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} -!1338 = distinct !{!1338, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} -!1339 = !{!1340} -!1340 = distinct !{!1340, !1341, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!1341 = distinct !{!1341, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!1342 = !{!1343} -!1343 = distinct !{!1343, !1344, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!1344 = distinct !{!1344, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!1345 = !{!1346, !129, i64 0} -!1346 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} -!1347 = !{!1348} -!1348 = distinct !{!1348, !1349, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE705_clEv: %agg.result"} -!1349 = distinct !{!1349, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE705_clEv"} -!1350 = !{!1351} -!1351 = distinct !{!1351, !1352, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE233_clEv: %agg.result"} -!1352 = distinct !{!1352, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE233_clEv"} -!1353 = !{i32 10523435} -!1354 = !{!1355, !129, i64 0} -!1355 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!1356 = distinct !{!1356, !103} -!1357 = !{i32 10851728} -!1358 = !{!1359} -!1359 = distinct !{!1359, !1360, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!1360 = distinct !{!1360, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!1361 = !{!1362} -!1362 = distinct !{!1362, !1363, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE758_clEv: %agg.result"} -!1363 = distinct !{!1363, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE758_clEv"} -!1364 = !{!1365} -!1365 = distinct !{!1365, !1366, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE411_clEv: %agg.result"} -!1366 = distinct !{!1366, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE411_clEv"} -!1367 = !{i32 8379163} -!1368 = distinct !{!1368, !103} -!1369 = !{i32 10501952} -!1370 = distinct !{!1370, !103} -!1371 = !{!1372} -!1372 = distinct !{!1372, !1373, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!1373 = distinct !{!1373, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!1374 = distinct !{!1374, !103} -!1375 = distinct !{!1375, !103} -!1376 = !{!1377} -!1377 = distinct !{!1377, !1378, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE194_clEv: %agg.result"} -!1378 = distinct !{!1378, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE194_clEv"} -!1379 = !{!1380} -!1380 = distinct !{!1380, !1381, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE426_clEv: %agg.result"} -!1381 = distinct !{!1381, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE426_clEv"} -!1382 = !{!1383} -!1383 = distinct !{!1383, !1384, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} -!1384 = distinct !{!1384, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} -!1385 = distinct !{!1385, !103} -!1386 = distinct !{!1386, !103} -!1387 = distinct !{!1387, !103} -!1388 = !{i32 10813586} -!1389 = !{!1390} -!1390 = distinct !{!1390, !1391, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!1391 = distinct !{!1391, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} -!1392 = distinct !{!1392, !103} -!1393 = !{!1394} -!1394 = distinct !{!1394, !1395, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE56_clEv: %agg.result"} -!1395 = distinct !{!1395, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE56_clEv"} -!1396 = !{!1397} -!1397 = distinct !{!1397, !1398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE386_clEv: %agg.result"} -!1398 = distinct !{!1398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE386_clEv"} -!1399 = !{i32 10786475} -!1400 = !{!1401} -!1401 = distinct !{!1401, !1402, !"_Z13__invoke_asinIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1402 = distinct !{!1402, !"_Z13__invoke_asinIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1403 = !{!1404} -!1404 = distinct !{!1404, !1405, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESG_: %agg.result"} -!1405 = distinct !{!1405, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESG_"} -!1406 = !{i32 1281434} -!1407 = !{!1408, !129, i64 0} -!1408 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!1409 = !{!1410} -!1410 = distinct !{!1410, !1411, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE476_clEv: %agg.result"} -!1411 = distinct !{!1411, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE476_clEv"} -!1412 = !{!1413, !127, i64 0} -!1413 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300813EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE3_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !1414, i64 104} -!1414 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE3_"} -!1415 = !{!1416} -!1416 = distinct !{!1416, !1417, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE3_clES8_: %agg.result"} -!1417 = distinct !{!1417, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE3_clES8_"} -!1418 = distinct !{!1418, !103} -!1419 = !{!1420} -!1420 = distinct !{!1420, !1421, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE199_clEv: %agg.result"} -!1421 = distinct !{!1421, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE199_clEv"} -!1422 = !{!1423} -!1423 = distinct !{!1423, !1424, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} -!1424 = distinct !{!1424, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} -!1425 = distinct !{!1425, !103} -!1426 = !{!1427, !129, i64 0} -!1427 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!1428 = !{i32 1231804} -!1429 = !{!1430} -!1430 = distinct !{!1430, !1431, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE795_clEv: %agg.result"} -!1431 = distinct !{!1431, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE795_clEv"} -!1432 = !{!1433} -!1433 = distinct !{!1433, !1434, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE681_clEv: %agg.result"} -!1434 = distinct !{!1434, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE681_clEv"} -!1435 = !{!1436} -!1436 = distinct !{!1436, !1437, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE197_clEv: %agg.result"} -!1437 = distinct !{!1437, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE197_clEv"} -!1438 = !{i32 10788995} -!1439 = !{!1440} -!1440 = distinct !{!1440, !1441, !"_Z13__invoke_ceilIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1441 = distinct !{!1441, !"_Z13__invoke_ceilIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1442 = !{!1443} -!1443 = distinct !{!1443, !1444, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE151_clEv: %agg.result"} -!1444 = distinct !{!1444, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE151_clEv"} -!1445 = !{!1446} -!1446 = distinct !{!1446, !1447, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE250_clEv: %agg.result"} -!1447 = distinct !{!1447, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE250_clEv"} -!1448 = !{!1449} -!1449 = distinct !{!1449, !1450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE767_clEv: %agg.result"} -!1450 = distinct !{!1450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE767_clEv"} -!1451 = !{!1452} -!1452 = distinct !{!1452, !1453, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!1453 = distinct !{!1453, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} -!1454 = distinct !{!1454, !103} -!1455 = !{!1456} -!1456 = distinct !{!1456, !1457, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE11_clEv: %agg.result"} -!1457 = distinct !{!1457, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE11_clEv"} -!1458 = distinct !{!1458, !103} -!1459 = !{i32 10861359} -!1460 = !{!1461} -!1461 = distinct !{!1461, !1462, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!1462 = distinct !{!1462, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_S6_ET_T0_T1_T2_"} -!1463 = !{!1464} -!1464 = distinct !{!1464, !1465, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!1465 = distinct !{!1465, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!1466 = distinct !{!1466, !103} -!1467 = !{!1468} -!1468 = distinct !{!1468, !1469, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!1469 = distinct !{!1469, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!1470 = !{i32 10866808} -!1471 = !{!1472} -!1472 = distinct !{!1472, !1473, !"_Z14__invoke_ilogbIN4sycl3_V13vecIiLi2EEENS2_INS1_6detail9half_impl4halfELi2EEEET_T0_: %agg.result"} -!1473 = distinct !{!1473, !"_Z14__invoke_ilogbIN4sycl3_V13vecIiLi2EEENS2_INS1_6detail9half_impl4halfELi2EEEET_T0_"} -!1474 = distinct !{!1474, !103} -!1475 = distinct !{!1475, !103} -!1476 = !{i32 10513373} -!1477 = !{!1478, !129, i64 0} -!1478 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1479 = !{!1480, !129, i64 0} -!1480 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1481 = !{!1482} -!1482 = distinct !{!1482, !1483, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE200_clEv: %agg.result"} -!1483 = distinct !{!1483, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE200_clEv"} -!1484 = !{!1485} -!1485 = distinct !{!1485, !1486, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE820_clEv: %agg.result"} -!1486 = distinct !{!1486, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE820_clEv"} -!1487 = !{i32 332146} -!1488 = !{!1489, !129, i64 0} -!1489 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!1490 = !{!1489, !129, i64 8} -!1491 = !{i32 10790162} -!1492 = !{!1493} -!1493 = distinct !{!1493, !1494, !"_Z13__invoke_coshIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1494 = distinct !{!1494, !"_Z13__invoke_coshIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1495 = !{!1496} -!1496 = distinct !{!1496, !1497, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE491_clEv: %agg.result"} -!1497 = distinct !{!1497, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE491_clEv"} -!1498 = !{!1499} -!1499 = distinct !{!1499, !1500, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE670_clEv: %agg.result"} -!1500 = distinct !{!1500, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE670_clEv"} -!1501 = !{i32 7580572} -!1502 = !{i32 1394904} -!1503 = !{i32 10516133} -!1504 = !{!1505} -!1505 = distinct !{!1505, !1506, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE511_clEv: %agg.result"} -!1506 = distinct !{!1506, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE511_clEv"} -!1507 = !{i32 10855887} -!1508 = !{!1509} -!1509 = distinct !{!1509, !1510, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!1510 = distinct !{!1510, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!1511 = !{!1512} -!1512 = distinct !{!1512, !1513, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE419_clEv: %agg.result"} -!1513 = distinct !{!1513, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE419_clEv"} -!1514 = !{!1515} -!1515 = distinct !{!1515, !1516, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE276_clEv: %agg.result"} -!1516 = distinct !{!1516, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE276_clEv"} -!1517 = !{i32 10867336} -!1518 = !{!1519} -!1519 = distinct !{!1519, !1520, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_: %agg.result"} -!1520 = distinct !{!1520, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_"} -!1521 = !{!1522} -!1522 = distinct !{!1522, !1523, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!1523 = distinct !{!1523, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!1524 = !{i32 8371083} -!1525 = !{!1526} -!1526 = distinct !{!1526, !1527, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!1527 = distinct !{!1527, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!1528 = distinct !{!1528, !103} -!1529 = !{!1530} -!1530 = distinct !{!1530, !1531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE98_clEv: %agg.result"} -!1531 = distinct !{!1531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE98_clEv"} -!1532 = !{i32 10522534} -!1533 = !{i32 10792968} -!1534 = !{!1535} -!1535 = distinct !{!1535, !1536, !"_Z14__invoke_expm1IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1536 = distinct !{!1536, !"_Z14__invoke_expm1IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1537 = distinct !{!1537, !103} -!1538 = !{!1539, !129, i64 0} -!1539 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} -!1540 = !{!1541, !127, i64 0} -!1541 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300814EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE4_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !1542, i64 104} -!1542 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE4_"} -!1543 = !{!1544} -!1544 = distinct !{!1544, !1545, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE269_clEv: %agg.result"} -!1545 = distinct !{!1545, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE269_clEv"} -!1546 = !{!1547, !129, i64 0} -!1547 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1548 = !{!1549} -!1549 = distinct !{!1549, !1550, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE684_clEv: %agg.result"} -!1550 = distinct !{!1550, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE684_clEv"} -!1551 = !{i32 10500490} -!1552 = distinct !{!1552, !103} -!1553 = !{!1554} -!1554 = distinct !{!1554, !1555, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE677_clEv: %agg.result"} -!1555 = distinct !{!1555, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE677_clEv"} -!1556 = !{!1557} -!1557 = distinct !{!1557, !1558, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE474_clEv: %agg.result"} -!1558 = distinct !{!1558, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE474_clEv"} -!1559 = distinct !{!1559, !103} -!1560 = !{!1561} -!1561 = distinct !{!1561, !1562, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE3_clESD_: %agg.result"} -!1562 = distinct !{!1562, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE3_clESD_"} -!1563 = !{!1564} -!1564 = distinct !{!1564, !1565, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE147_clEv: %agg.result"} -!1565 = distinct !{!1565, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE147_clEv"} -!1566 = distinct !{!1566, !103} -!1567 = !{i32 8369765} -!1568 = distinct !{!1568, !103} -!1569 = !{i32 10498685} -!1570 = !{!1571} -!1571 = distinct !{!1571, !1572, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE84_clEv: %agg.result"} -!1572 = distinct !{!1572, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE84_clEv"} -!1573 = !{!1574} -!1574 = distinct !{!1574, !1575, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE745_clEv: %agg.result"} -!1575 = distinct !{!1575, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE745_clEv"} -!1576 = !{!1577} -!1577 = distinct !{!1577, !1578, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!1578 = distinct !{!1578, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!1579 = !{!1580} -!1580 = distinct !{!1580, !1581, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE488_clEv: %agg.result"} -!1581 = distinct !{!1581, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE488_clEv"} -!1582 = !{!1583} -!1583 = distinct !{!1583, !1584, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE464_clEv: %agg.result"} -!1584 = distinct !{!1584, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE464_clEv"} -!1585 = !{!1586} -!1586 = distinct !{!1586, !1587, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!1587 = distinct !{!1587, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!1588 = !{!1589} -!1589 = distinct !{!1589, !1590, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE320_clEv: %agg.result"} -!1590 = distinct !{!1590, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE320_clEv"} -!1591 = !{!1592, !129, i64 0} -!1592 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} -!1593 = distinct !{!1593, !103} -!1594 = !{!1595} -!1595 = distinct !{!1595, !1596, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!1596 = distinct !{!1596, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_S6_ET_T0_T1_T2_"} -!1597 = !{!1598} -!1598 = distinct !{!1598, !1599, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE150_clEv: %agg.result"} -!1599 = distinct !{!1599, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE150_clEv"} -!1600 = !{!254, !129, i64 8} -!1601 = !{!254, !129, i64 16} -!1602 = !{!254, !129, i64 24} -!1603 = !{!1604} -!1604 = distinct !{!1604, !1605, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE16_clEv: %agg.result"} -!1605 = distinct !{!1605, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE16_clEv"} -!1606 = !{!1607} -!1607 = distinct !{!1607, !1608, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!1608 = distinct !{!1608, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!1609 = !{!1610} -!1610 = distinct !{!1610, !1611, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!1611 = distinct !{!1611, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!1612 = !{!1613} -!1613 = distinct !{!1613, !1614, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE229_clEv: %agg.result"} -!1614 = distinct !{!1614, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE229_clEv"} -!1615 = distinct !{!1615, !103} -!1616 = !{!1617, !129, i64 0} -!1617 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1618 = !{!1619} -!1619 = distinct !{!1619, !1620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE203_clEv: %agg.result"} -!1620 = distinct !{!1620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE203_clEv"} -!1621 = !{!1622} -!1622 = distinct !{!1622, !1623, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!1623 = distinct !{!1623, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!1624 = !{!1625, !129, i64 0} -!1625 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} -!1626 = !{i32 10792005} -!1627 = !{!1628} -!1628 = distinct !{!1628, !1629, !"_Z13__invoke_exp2IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1629 = distinct !{!1629, !"_Z13__invoke_exp2IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1630 = !{!1631} -!1631 = distinct !{!1631, !1632, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE172_clEv: %agg.result"} -!1632 = distinct !{!1632, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE172_clEv"} -!1633 = !{!1634, !129, i64 0} -!1634 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE1ELNS5_9decoratedE1EEE", !129, i64 0} -!1635 = !{!1636} -!1636 = distinct !{!1636, !1637, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE733_clEv: %agg.result"} -!1637 = distinct !{!1637, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE733_clEv"} -!1638 = !{!1639} -!1639 = distinct !{!1639, !1640, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE711_clEv: %agg.result"} -!1640 = distinct !{!1640, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE711_clEv"} -!1641 = !{!697, !129, i64 8} -!1642 = !{!1643} -!1643 = distinct !{!1643, !1644, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_: %agg.result"} -!1644 = distinct !{!1644, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_"} -!1645 = !{!1646} -!1646 = distinct !{!1646, !1647, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE27_clEv: %agg.result"} -!1647 = distinct !{!1647, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE27_clEv"} -!1648 = !{!1649} -!1649 = distinct !{!1649, !1650, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!1650 = distinct !{!1650, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!1651 = !{!1652, !129, i64 0} -!1652 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!1653 = !{!1652, !129, i64 8} -!1654 = distinct !{!1654, !103} -!1655 = !{!1656} -!1656 = distinct !{!1656, !1657, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE41_clEv: %agg.result"} -!1657 = distinct !{!1657, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE41_clEv"} -!1658 = !{!1659} -!1659 = distinct !{!1659, !1660, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE556_clEv: %agg.result"} -!1660 = distinct !{!1660, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE556_clEv"} -!1661 = !{!1662} -!1662 = distinct !{!1662, !1663, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE436_clEv: %agg.result"} -!1663 = distinct !{!1663, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE436_clEv"} -!1664 = !{i32 8329881} -!1665 = !{!1666} -!1666 = distinct !{!1666, !1667, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} -!1667 = distinct !{!1667, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} -!1668 = !{!1669} -!1669 = distinct !{!1669, !1670, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_: %agg.result"} -!1670 = distinct !{!1670, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_NS2_IiLi3EEEET_T0_T1_"} -!1671 = !{!1672} -!1672 = distinct !{!1672, !1673, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE63_clEv: %agg.result"} -!1673 = distinct !{!1673, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE63_clEv"} -!1674 = !{!1675} -!1675 = distinct !{!1675, !1676, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!1676 = distinct !{!1676, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!1677 = !{!1678, !129, i64 0} -!1678 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} -!1679 = !{!1680} -!1680 = distinct !{!1680, !1681, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!1681 = distinct !{!1681, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!1682 = !{!1683} -!1683 = distinct !{!1683, !1684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE671_clEv: %agg.result"} -!1684 = distinct !{!1684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE671_clEv"} -!1685 = !{!1686} -!1686 = distinct !{!1686, !1687, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE471_clEv: %agg.result"} -!1687 = distinct !{!1687, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE471_clEv"} -!1688 = !{i32 -2140795989} -!1689 = !{!1690} -!1690 = distinct !{!1690, !1691, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE99_clEv: %agg.result"} -!1691 = distinct !{!1691, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE99_clEv"} -!1692 = !{!1693} -!1693 = distinct !{!1693, !1694, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE812_clEv: %agg.result"} -!1694 = distinct !{!1694, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE812_clEv"} -!1695 = distinct !{!1695, !103} -!1696 = !{i32 1260467} -!1697 = !{!1698} -!1698 = distinct !{!1698, !1699, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE117_clEv: %agg.result"} -!1699 = distinct !{!1699, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE117_clEv"} -!1700 = !{!1701} -!1701 = distinct !{!1701, !1702, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE107_clEv: %agg.result"} -!1702 = distinct !{!1702, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE107_clEv"} -!1703 = !{i32 10859249} -!1704 = !{!1705} -!1705 = distinct !{!1705, !1706, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!1706 = distinct !{!1706, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!1707 = !{i64 0, i64 68, !69} -!1708 = !{i32 10503577} -!1709 = distinct !{!1709, !103} -!1710 = !{!1711} -!1711 = distinct !{!1711, !1712, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE1_clESD_: %agg.result"} -!1712 = distinct !{!1712, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE1_clESD_"} -!1713 = distinct !{!1713, !103} -!1714 = distinct !{!1714, !103} -!1715 = !{i32 10505173} -!1716 = distinct !{!1716, !103} -!1717 = !{i32 10857160} -!1718 = !{!1719} -!1719 = distinct !{!1719, !1720, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!1720 = distinct !{!1720, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!1721 = !{!1722, !129, i64 0} -!1722 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!1723 = !{i32 10870725} -!1724 = !{!1725} -!1725 = distinct !{!1725, !1726, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!1726 = distinct !{!1726, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!1727 = !{!1728} -!1728 = distinct !{!1728, !1729, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE198_clEv: %agg.result"} -!1729 = distinct !{!1729, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE198_clEv"} -!1730 = !{!1731, !129, i64 0} -!1731 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} -!1732 = !{!1733} -!1733 = distinct !{!1733, !1734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE340_clEv: %agg.result"} -!1734 = distinct !{!1734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE340_clEv"} -!1735 = !{!1736} -!1736 = distinct !{!1736, !1737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE190_clEv: %agg.result"} -!1737 = distinct !{!1737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE190_clEv"} -!1738 = !{!1739} -!1739 = distinct !{!1739, !1740, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE223_clEv: %agg.result"} -!1740 = distinct !{!1740, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE223_clEv"} -!1741 = !{!1742} -!1742 = distinct !{!1742, !1743, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE165_clEv: %agg.result"} -!1743 = distinct !{!1743, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE165_clEv"} -!1744 = !{!1745} -!1745 = distinct !{!1745, !1746, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE732_clEv: %agg.result"} -!1746 = distinct !{!1746, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE732_clEv"} -!1747 = !{!1748} -!1748 = distinct !{!1748, !1749, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE502_clEv: %agg.result"} -!1749 = distinct !{!1749, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE502_clEv"} -!1750 = !{!1751} -!1751 = distinct !{!1751, !1752, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE518_clEv: %agg.result"} -!1752 = distinct !{!1752, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE518_clEv"} -!1753 = !{!1754} -!1754 = distinct !{!1754, !1755, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!1755 = distinct !{!1755, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!1756 = !{!1757, !129, i64 0} -!1757 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE1EEE", !129, i64 0} -!1758 = !{!1759} -!1759 = distinct !{!1759, !1760, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!1760 = distinct !{!1760, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!1761 = !{!1762} -!1762 = distinct !{!1762, !1763, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!1763 = distinct !{!1763, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!1764 = !{!1765, !129, i64 0} -!1765 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} -!1766 = !{i32 10793808} -!1767 = !{!1768} -!1768 = distinct !{!1768, !1769, !"_Z14__invoke_floorIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1769 = distinct !{!1769, !"_Z14__invoke_floorIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1770 = distinct !{!1770, !103} -!1771 = !{!1772, !129, i64 0} -!1772 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} -!1773 = !{!1774} -!1774 = distinct !{!1774, !1775, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_: %agg.result"} -!1775 = distinct !{!1775, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_"} -!1776 = distinct !{!1776, !103} -!1777 = !{i32 5940556} -!1778 = !{!1779} -!1779 = distinct !{!1779, !1780, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE754_clEv: %agg.result"} -!1780 = distinct !{!1780, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE754_clEv"} -!1781 = distinct !{!1781, !103} -!1782 = distinct !{!1782, !103} -!1783 = !{!1784} -!1784 = distinct !{!1784, !1785, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE71_clEv: %agg.result"} -!1785 = distinct !{!1785, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE71_clEv"} -!1786 = !{!1787} -!1787 = distinct !{!1787, !1788, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE85_clEv: %agg.result"} -!1788 = distinct !{!1788, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE85_clEv"} -!1789 = !{i32 1192594} -!1790 = !{!1791, !129, i64 0} -!1791 = !{!"_ZTSZN4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1iNS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1792 = !{!1791, !129, i64 8} -!1793 = !{!1791, !129, i64 16} -!1794 = !{!1791, !129, i64 24} -!1795 = !{!1796} -!1796 = distinct !{!1796, !1797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE618_clEv: %agg.result"} -!1797 = distinct !{!1797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE618_clEv"} -!1798 = distinct !{!1798, !103} -!1799 = !{!1800, !129, i64 0} -!1800 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEE", !129, i64 0} -!1801 = !{!1802} -!1802 = distinct !{!1802, !1803, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE521_clEv: %agg.result"} -!1803 = distinct !{!1803, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE521_clEv"} -!1804 = distinct !{!1804, !103} -!1805 = !{!1806} -!1806 = distinct !{!1806, !1807, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} -!1807 = distinct !{!1807, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} -!1808 = !{!1809} -!1809 = distinct !{!1809, !1810, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE280_clEv: %agg.result"} -!1810 = distinct !{!1810, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE280_clEv"} -!1811 = distinct !{!1811, !103} -!1812 = !{!1813} -!1813 = distinct !{!1813, !1814, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE14_clEv: %agg.result"} -!1814 = distinct !{!1814, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE14_clEv"} -!1815 = !{!1816, !129, i64 0} -!1816 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!1817 = !{!1818} -!1818 = distinct !{!1818, !1819, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!1819 = distinct !{!1819, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!1820 = !{!1821} -!1821 = distinct !{!1821, !1822, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE184_clEv: %agg.result"} -!1822 = distinct !{!1822, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE184_clEv"} -!1823 = !{!1824} -!1824 = distinct !{!1824, !1825, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE431_clEv: %agg.result"} -!1825 = distinct !{!1825, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE431_clEv"} -!1826 = distinct !{!1826, !103} -!1827 = !{!1828} -!1828 = distinct !{!1828, !1829, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE231_clEv: %agg.result"} -!1829 = distinct !{!1829, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE231_clEv"} -!1830 = !{!1831} -!1831 = distinct !{!1831, !1832, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE138_clEv: %agg.result"} -!1832 = distinct !{!1832, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE138_clEv"} -!1833 = !{!1834} -!1834 = distinct !{!1834, !1835, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE304_clEv: %agg.result"} -!1835 = distinct !{!1835, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE304_clEv"} -!1836 = !{!1837} -!1837 = distinct !{!1837, !1838, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE142_clEv: %agg.result"} -!1838 = distinct !{!1838, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE142_clEv"} -!1839 = distinct !{!1839, !103} -!1840 = !{!1841} -!1841 = distinct !{!1841, !1842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE18_clEv: %agg.result"} -!1842 = distinct !{!1842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE18_clEv"} -!1843 = !{!1844} -!1844 = distinct !{!1844, !1845, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE400_clEv: %agg.result"} -!1845 = distinct !{!1845, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE400_clEv"} -!1846 = !{!1847, !129, i64 0} -!1847 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} -!1848 = distinct !{!1848, !103} -!1849 = !{!1850} -!1850 = distinct !{!1850, !1851, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE530_clEv: %agg.result"} -!1851 = distinct !{!1851, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE530_clEv"} -!1852 = !{i32 10881504} -!1853 = !{!1854} -!1854 = distinct !{!1854, !1855, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!1855 = distinct !{!1855, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!1856 = !{!1857} -!1857 = distinct !{!1857, !1858, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE596_clEv: %agg.result"} -!1858 = distinct !{!1858, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE596_clEv"} -!1859 = distinct !{!1859, !103} -!1860 = !{i32 10880983} -!1861 = !{!1862} -!1862 = distinct !{!1862, !1863, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!1863 = distinct !{!1863, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!1864 = !{!1865} -!1865 = distinct !{!1865, !1866, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE2_clESA_: %agg.result"} -!1866 = distinct !{!1866, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE2_clESA_"} -!1867 = !{!1868} -!1868 = distinct !{!1868, !1869, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!1869 = distinct !{!1869, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_S6_ET_T0_T1_T2_"} -!1870 = !{!1871} -!1871 = distinct !{!1871, !1872, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!1872 = distinct !{!1872, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!1873 = !{!1874, !129, i64 0} -!1874 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1875 = !{!1874, !129, i64 8} -!1876 = !{!1874, !129, i64 16} -!1877 = !{!1874, !129, i64 24} -!1878 = distinct !{!1878, !103} -!1879 = !{!1880} -!1880 = distinct !{!1880, !1881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE299_clEv: %agg.result"} -!1881 = distinct !{!1881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE299_clEv"} -!1882 = !{!1883} -!1883 = distinct !{!1883, !1884, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE658_clEv: %agg.result"} -!1884 = distinct !{!1884, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE658_clEv"} -!1885 = !{!1886} -!1886 = distinct !{!1886, !1887, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE114_clEv: %agg.result"} -!1887 = distinct !{!1887, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE114_clEv"} -!1888 = !{!1889} -!1889 = distinct !{!1889, !1890, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} -!1890 = distinct !{!1890, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} -!1891 = !{i32 10515563} -!1892 = distinct !{!1892, !103} -!1893 = !{!1894} -!1894 = distinct !{!1894, !1895, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE540_clEv: %agg.result"} -!1895 = distinct !{!1895, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE540_clEv"} -!1896 = !{i32 10511233} -!1897 = !{!1898} -!1898 = distinct !{!1898, !1899, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!1899 = distinct !{!1899, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} -!1900 = !{!1901, !129, i64 0} -!1901 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1902 = !{!1901, !129, i64 8} -!1903 = !{!1901, !129, i64 16} -!1904 = !{!1901, !129, i64 24} -!1905 = !{i32 10785665} -!1906 = !{!1907} -!1907 = distinct !{!1907, !1908, !"_Z13__invoke_acosIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!1908 = distinct !{!1908, !"_Z13__invoke_acosIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!1909 = !{!1910} -!1910 = distinct !{!1910, !1911, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE252_clEv: %agg.result"} -!1911 = distinct !{!1911, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE252_clEv"} -!1912 = !{!1913} -!1913 = distinct !{!1913, !1914, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE249_clEv: %agg.result"} -!1914 = distinct !{!1914, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE249_clEv"} -!1915 = distinct !{!1915, !103} -!1916 = !{!1917} -!1917 = distinct !{!1917, !1918, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE388_clEv: %agg.result"} -!1918 = distinct !{!1918, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE388_clEv"} -!1919 = !{!1920} -!1920 = distinct !{!1920, !1921, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE245_clEv: %agg.result"} -!1921 = distinct !{!1921, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE245_clEv"} -!1922 = !{i32 7650258} -!1923 = !{!1924} -!1924 = distinct !{!1924, !1925, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE54_clEv: %agg.result"} -!1925 = distinct !{!1925, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE54_clEv"} -!1926 = !{!1927} -!1927 = distinct !{!1927, !1928, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE785_clEv: %agg.result"} -!1928 = distinct !{!1928, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE785_clEv"} -!1929 = !{!1930} -!1930 = distinct !{!1930, !1931, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE_clESD_: %agg.result"} -!1931 = distinct !{!1931, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE_clESD_"} -!1932 = !{!1933} -!1933 = distinct !{!1933, !1934, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!1934 = distinct !{!1934, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!1935 = distinct !{!1935, !103} -!1936 = distinct !{!1936, !103} -!1937 = !{!1938} -!1938 = distinct !{!1938, !1939, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE693_clEv: %agg.result"} -!1939 = distinct !{!1939, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE693_clEv"} -!1940 = distinct !{!1940, !103} -!1941 = !{!1942} -!1942 = distinct !{!1942, !1943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE701_clEv: %agg.result"} -!1943 = distinct !{!1943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE701_clEv"} -!1944 = !{!1945} -!1945 = distinct !{!1945, !1946, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE202_clEv: %agg.result"} -!1946 = distinct !{!1946, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE202_clEv"} -!1947 = !{i32 8560230} -!1948 = !{!1949} -!1949 = distinct !{!1949, !1950, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE1_clESA_: %agg.result"} -!1950 = distinct !{!1950, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE1_clESA_"} -!1951 = !{!1952} -!1952 = distinct !{!1952, !1953, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!1953 = distinct !{!1953, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!1954 = !{!1955} -!1955 = distinct !{!1955, !1956, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE603_clEv: %agg.result"} -!1956 = distinct !{!1956, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE603_clEv"} -!1957 = !{!1958} -!1958 = distinct !{!1958, !1959, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!1959 = distinct !{!1959, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_S6_ET_T0_T1_T2_"} -!1960 = distinct !{!1960, !103} -!1961 = !{!1962, !129, i64 0} -!1962 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} -!1963 = !{!1964} -!1964 = distinct !{!1964, !1965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE519_clEv: %agg.result"} -!1965 = distinct !{!1965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE519_clEv"} -!1966 = !{!1967} -!1967 = distinct !{!1967, !1968, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE29_clEv: %agg.result"} -!1968 = distinct !{!1968, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE29_clEv"} -!1969 = !{!1970} -!1970 = distinct !{!1970, !1971, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE686_clEv: %agg.result"} -!1971 = distinct !{!1971, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE686_clEv"} -!1972 = !{!1973} -!1973 = distinct !{!1973, !1974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE232_clEv: %agg.result"} -!1974 = distinct !{!1974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE232_clEv"} -!1975 = !{!1976, !129, i64 0} -!1976 = !{!"_ZTSZN4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S4_NS0_5rangeILi1EEESH_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!1977 = !{!1978} -!1978 = distinct !{!1978, !1979, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE35_clEv: %agg.result"} -!1979 = distinct !{!1979, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE35_clEv"} -!1980 = !{!1981, !129, i64 0} -!1981 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE0EEE", !129, i64 0} -!1982 = !{!1983, !129, i64 0} -!1983 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} -!1984 = !{!1985, !129, i64 0} -!1985 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!1986 = !{!1987, !129, i64 0} -!1987 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm17EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} -!1988 = !{!1989} -!1989 = distinct !{!1989, !1990, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE590_clEv: %agg.result"} -!1990 = distinct !{!1990, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE590_clEv"} -!1991 = !{!1992} -!1992 = distinct !{!1992, !1993, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!1993 = distinct !{!1993, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!1994 = distinct !{!1994, !103} -!1995 = !{!1996} -!1996 = distinct !{!1996, !1997, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE513_clEv: %agg.result"} -!1997 = distinct !{!1997, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE513_clEv"} -!1998 = !{!1999, !129, i64 0} -!1999 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE1ELNS7_9decoratedE0EEE", !129, i64 0} -!2000 = !{!2001} -!2001 = distinct !{!2001, !2002, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE477_clEv: %agg.result"} -!2002 = distinct !{!2002, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE477_clEv"} -!2003 = !{!2004} -!2004 = distinct !{!2004, !2005, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!2005 = distinct !{!2005, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!2006 = !{!1355, !129, i64 8} -!2007 = !{!1355, !129, i64 16} -!2008 = !{i32 8560823} -!2009 = !{!2010} -!2010 = distinct !{!2010, !2011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE443_clEv: %agg.result"} -!2011 = distinct !{!2011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE443_clEv"} -!2012 = !{!2013} -!2013 = distinct !{!2013, !2014, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!2014 = distinct !{!2014, !"_Z13__invoke_fabsIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!2015 = !{!2016} -!2016 = distinct !{!2016, !2017, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE52_clEv: %agg.result"} -!2017 = distinct !{!2017, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE52_clEv"} -!2018 = !{i32 10855126} -!2019 = !{!2020} -!2020 = distinct !{!2020, !2021, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!2021 = distinct !{!2021, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!2022 = !{i32 1300351} -!2023 = !{!2024} -!2024 = distinct !{!2024, !2025, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} -!2025 = distinct !{!2025, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} -!2026 = distinct !{!2026, !103} -!2027 = distinct !{!2027, !103} -!2028 = distinct !{!2028, !103} -!2029 = distinct !{!2029, !103} -!2030 = !{!2031} -!2031 = distinct !{!2031, !2032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE659_clEv: %agg.result"} -!2032 = distinct !{!2032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE659_clEv"} -!2033 = !{!2034} -!2034 = distinct !{!2034, !2035, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE327_clEv: %agg.result"} -!2035 = distinct !{!2035, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE327_clEv"} -!2036 = !{!2037} -!2037 = distinct !{!2037, !2038, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE486_clEv: %agg.result"} -!2038 = distinct !{!2038, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE486_clEv"} -!2039 = !{!2040} -!2040 = distinct !{!2040, !2041, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE498_clEv: %agg.result"} -!2041 = distinct !{!2041, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE498_clEv"} -!2042 = !{!2043, !129, i64 0} -!2043 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2044 = !{!2045, !129, i64 0} -!2045 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!2046 = distinct !{!2046, !103} -!2047 = !{!2048} -!2048 = distinct !{!2048, !2049, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!2049 = distinct !{!2049, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!2050 = !{!2051} -!2051 = distinct !{!2051, !2052, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE541_clEv: %agg.result"} -!2052 = distinct !{!2052, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE541_clEv"} -!2053 = !{!2054, !129, i64 0} -!2054 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2055 = !{!2054, !129, i64 8} -!2056 = !{!2057} -!2057 = distinct !{!2057, !2058, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_: %agg.result"} -!2058 = distinct !{!2058, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_"} -!2059 = !{!2060} -!2060 = distinct !{!2060, !2061, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE78_clEv: %agg.result"} -!2061 = distinct !{!2061, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE78_clEv"} -!2062 = !{!2063} -!2063 = distinct !{!2063, !2064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE651_clEv: %agg.result"} -!2064 = distinct !{!2064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE651_clEv"} -!2065 = !{!2066, !129, i64 0} -!2066 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi8EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2067 = !{!2066, !129, i64 8} -!2068 = distinct !{!2068, !103} -!2069 = !{!2070} -!2070 = distinct !{!2070, !2071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE222_clEv: %agg.result"} -!2071 = distinct !{!2071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE222_clEv"} -!2072 = !{!2073, !129, i64 0} -!2073 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!2074 = !{!2073, !129, i64 8} -!2075 = !{!2073, !129, i64 16} -!2076 = !{!2073, !129, i64 24} -!2077 = !{!2078} -!2078 = distinct !{!2078, !2079, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE696_clEv: %agg.result"} -!2079 = distinct !{!2079, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE696_clEv"} -!2080 = !{!1480, !129, i64 8} -!2081 = !{!1480, !129, i64 16} -!2082 = !{!1480, !129, i64 24} -!2083 = !{!2084} -!2084 = distinct !{!2084, !2085, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!2085 = distinct !{!2085, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!2086 = !{!2087} -!2087 = distinct !{!2087, !2088, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE482_clEv: %agg.result"} -!2088 = distinct !{!2088, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE482_clEv"} -!2089 = !{!2090} -!2090 = distinct !{!2090, !2091, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!2091 = distinct !{!2091, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!2092 = !{!2093} -!2093 = distinct !{!2093, !2094, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE282_clEv: %agg.result"} -!2094 = distinct !{!2094, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE282_clEv"} -!2095 = !{!1028, !129, i64 8} -!2096 = !{!1028, !129, i64 16} -!2097 = !{!1028, !129, i64 24} -!2098 = !{!2099, !129, i64 0} -!2099 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2100 = !{!2099, !129, i64 8} -!2101 = !{!2102, !129, i64 24} -!2102 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!2103 = !{!2104, !129, i64 0} -!2104 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!2105 = !{i32 10807087} -!2106 = !{!2107} -!2107 = distinct !{!2107, !2108, !"_Z13__invoke_pownIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_: %agg.result"} -!2108 = distinct !{!2108, !"_Z13__invoke_pownIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_"} -!2109 = !{i32 -2140795284} -!2110 = !{!2111} -!2111 = distinct !{!2111, !2112, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE75_clEv: %agg.result"} -!2112 = distinct !{!2112, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE75_clEv"} -!2113 = distinct !{!2113, !103} -!2114 = !{i32 10495406} -!2115 = !{i32 10856808} -!2116 = !{!2117} -!2117 = distinct !{!2117, !2118, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!2118 = distinct !{!2118, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!2119 = !{!2120} -!2120 = distinct !{!2120, !2121, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE616_clEv: %agg.result"} -!2121 = distinct !{!2121, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE616_clEv"} -!2122 = !{!2123} -!2123 = distinct !{!2123, !2124, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!2124 = distinct !{!2124, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!2125 = !{!2126} -!2126 = distinct !{!2126, !2127, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!2127 = distinct !{!2127, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!2128 = !{!2129} -!2129 = distinct !{!2129, !2130, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE700_clEv: %agg.result"} -!2130 = distinct !{!2130, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE700_clEv"} -!2131 = distinct !{!2131, !103} -!2132 = distinct !{!2132, !103} -!2133 = !{!2134, !129, i64 0} -!2134 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} -!2135 = distinct !{!2135, !103} -!2136 = !{!2137} -!2137 = distinct !{!2137, !2138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} -!2138 = distinct !{!2138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} -!2139 = !{!2140} -!2140 = distinct !{!2140, !2141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE593_clEv: %agg.result"} -!2141 = distinct !{!2141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE593_clEv"} -!2142 = distinct !{!2142, !103} -!2143 = distinct !{!2143, !103} -!2144 = !{!2145} -!2145 = distinct !{!2145, !2146, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE371_clEv: %agg.result"} -!2146 = distinct !{!2146, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE371_clEv"} -!2147 = distinct !{!2147, !103} -!2148 = distinct !{!2148, !103} -!2149 = !{!2150} -!2150 = distinct !{!2150, !2151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE247_clEv: %agg.result"} -!2151 = distinct !{!2151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE247_clEv"} -!2152 = distinct !{!2152, !103} -!2153 = distinct !{!2153, !103} -!2154 = !{!2155} -!2155 = distinct !{!2155, !2156, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!2156 = distinct !{!2156, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!2157 = !{!2158} -!2158 = distinct !{!2158, !2159, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!2159 = distinct !{!2159, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!2160 = distinct !{!2160, !103} -!2161 = !{!2162} -!2162 = distinct !{!2162, !2163, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE234_clEv: %agg.result"} -!2163 = distinct !{!2163, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE234_clEv"} -!2164 = !{!2165} -!2165 = distinct !{!2165, !2166, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE4_clESB_: %agg.result"} -!2166 = distinct !{!2166, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE4_clESB_"} -!2167 = distinct !{!2167, !103} -!2168 = distinct !{!2168, !103} -!2169 = !{!2170} -!2170 = distinct !{!2170, !2171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE736_clEv: %agg.result"} -!2171 = distinct !{!2171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE736_clEv"} -!2172 = !{!2173} -!2173 = distinct !{!2173, !2174, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!2174 = distinct !{!2174, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!2175 = !{!2176} -!2176 = distinct !{!2176, !2177, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE770_clEv: %agg.result"} -!2177 = distinct !{!2177, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE770_clEv"} -!2178 = !{!2179} -!2179 = distinct !{!2179, !2180, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE86_clEv: %agg.result"} -!2180 = distinct !{!2180, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE86_clEv"} -!2181 = !{!2182} -!2182 = distinct !{!2182, !2183, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!2183 = distinct !{!2183, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!2184 = !{!2185} -!2185 = distinct !{!2185, !2186, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE314_clEv: %agg.result"} -!2186 = distinct !{!2186, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE314_clEv"} -!2187 = !{!2188} -!2188 = distinct !{!2188, !2189, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE806_clEv: %agg.result"} -!2189 = distinct !{!2189, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE806_clEv"} -!2190 = !{!2191} -!2191 = distinct !{!2191, !2192, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE367_clEv: %agg.result"} -!2192 = distinct !{!2192, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE367_clEv"} -!2193 = !{!2194} -!2194 = distinct !{!2194, !2195, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE632_clEv: %agg.result"} -!2195 = distinct !{!2195, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE632_clEv"} -!2196 = !{!2197} -!2197 = distinct !{!2197, !2198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE442_clEv: %agg.result"} -!2198 = distinct !{!2198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE442_clEv"} -!2199 = !{!2200} -!2200 = distinct !{!2200, !2201, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE64_clEv: %agg.result"} -!2201 = distinct !{!2201, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE64_clEv"} -!2202 = distinct !{!2202, !103} -!2203 = !{!2204} -!2204 = distinct !{!2204, !2205, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE274_clEv: %agg.result"} -!2205 = distinct !{!2205, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE274_clEv"} -!2206 = !{!2207} -!2207 = distinct !{!2207, !2208, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} -!2208 = distinct !{!2208, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} -!2209 = !{!1617, !129, i64 8} -!2210 = !{!1617, !129, i64 16} -!2211 = !{!1617, !129, i64 24} -!2212 = !{i32 7649374} -!2213 = !{!2214} -!2214 = distinct !{!2214, !2215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE0_clESD_: %agg.result"} -!2215 = distinct !{!2215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE0_clESD_"} -!2216 = !{i32 1294512} -!2217 = !{!2218, !129, i64 24} -!2218 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!2219 = !{!1408, !129, i64 8} -!2220 = !{!2221} -!2221 = distinct !{!2221, !2222, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE370_clEv: %agg.result"} -!2222 = distinct !{!2222, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE370_clEv"} -!2223 = !{!2224} -!2224 = distinct !{!2224, !2225, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!2225 = distinct !{!2225, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!2226 = distinct !{!2226, !103} -!2227 = !{!2228} -!2228 = distinct !{!2228, !2229, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!2229 = distinct !{!2229, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!2230 = !{!2231} -!2231 = distinct !{!2231, !2232, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!2232 = distinct !{!2232, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!2233 = !{i32 12009896} -!2234 = !{!2235} -!2235 = distinct !{!2235, !2236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE95_clEv: %agg.result"} -!2236 = distinct !{!2236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE95_clEv"} -!2237 = !{!2238} -!2238 = distinct !{!2238, !2239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE149_clEv: %agg.result"} -!2239 = distinct !{!2239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE149_clEv"} -!2240 = !{!2241} -!2241 = distinct !{!2241, !2242, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE81_clEv: %agg.result"} -!2242 = distinct !{!2242, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE81_clEv"} -!2243 = !{!2244} -!2244 = distinct !{!2244, !2245, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_: %agg.result"} -!2245 = distinct !{!2245, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_"} -!2246 = !{!2247} -!2247 = distinct !{!2247, !2248, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!2248 = distinct !{!2248, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!2249 = !{!2250} -!2250 = distinct !{!2250, !2251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE281_clEv: %agg.result"} -!2251 = distinct !{!2251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE281_clEv"} -!2252 = !{i32 1253733} -!2253 = !{!2254} -!2254 = distinct !{!2254, !2255, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!2255 = distinct !{!2255, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!2256 = distinct !{!2256, !103} -!2257 = !{!2258} -!2258 = distinct !{!2258, !2259, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE183_clEv: %agg.result"} -!2259 = distinct !{!2259, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE183_clEv"} -!2260 = distinct !{!2260, !103} -!2261 = distinct !{!2261, !103} -!2262 = !{!2263, !129, i64 0} -!2263 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2264 = !{!2265, !129, i64 0} -!2265 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} -!2266 = !{i32 10808048} -!2267 = !{!2268} -!2268 = distinct !{!2268, !2269, !"_Z18__invoke_remainderIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!2269 = distinct !{!2269, !"_Z18__invoke_remainderIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!2270 = !{!2271} -!2271 = distinct !{!2271, !2272, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE272_clEv: %agg.result"} -!2272 = distinct !{!2272, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE272_clEv"} -!2273 = !{i32 10883608} -!2274 = !{!2275} -!2275 = distinct !{!2275, !2276, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!2276 = distinct !{!2276, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!2277 = !{i32 5939844} -!2278 = !{!2279} -!2279 = distinct !{!2279, !2280, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_: %agg.result"} -!2280 = distinct !{!2280, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_"} -!2281 = !{!2282} -!2282 = distinct !{!2282, !2283, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!2283 = distinct !{!2283, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!2284 = !{!2285} -!2285 = distinct !{!2285, !2286, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE65_clEv: %agg.result"} -!2286 = distinct !{!2286, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE65_clEv"} -!2287 = !{!2288, !129, i64 0} -!2288 = !{!"_ZTSZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1026ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2289 = !{!2288, !129, i64 8} -!2290 = !{!2291} -!2291 = distinct !{!2291, !2292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} -!2292 = distinct !{!2292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} -!2293 = !{i32 10492461} -!2294 = !{i32 10789304} -!2295 = !{!2296} -!2296 = distinct !{!2296, !2297, !"_Z17__invoke_copysignIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!2297 = distinct !{!2297, !"_Z17__invoke_copysignIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!2298 = distinct !{!2298, !103} -!2299 = !{!2300, !129, i64 0} -!2300 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE3ELNS2_9decoratedE0EEE", !129, i64 0} -!2301 = !{!2302} -!2302 = distinct !{!2302, !2303, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE82_clEv: %agg.result"} -!2303 = distinct !{!2303, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE82_clEv"} -!2304 = !{!2305} -!2305 = distinct !{!2305, !2306, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE402_clEv: %agg.result"} -!2306 = distinct !{!2306, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE402_clEv"} -!2307 = !{!2308} -!2308 = distinct !{!2308, !2309, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE537_clEv: %agg.result"} -!2309 = distinct !{!2309, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE537_clEv"} -!2310 = !{!2311} -!2311 = distinct !{!2311, !2312, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE4_clES8_: %agg.result"} -!2312 = distinct !{!2312, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE4_clES8_"} -!2313 = !{!2314} -!2314 = distinct !{!2314, !2315, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!2315 = distinct !{!2315, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!2316 = !{i32 1235230} -!2317 = !{!2318} -!2318 = distinct !{!2318, !2319, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE2_clESB_: %agg.result"} -!2319 = distinct !{!2319, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE2_clESB_"} -!2320 = !{!2321} -!2321 = distinct !{!2321, !2322, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE20_clEv: %agg.result"} -!2322 = distinct !{!2322, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE20_clEv"} -!2323 = !{!2324} -!2324 = distinct !{!2324, !2325, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!2325 = distinct !{!2325, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!2326 = !{!2327} -!2327 = distinct !{!2327, !2328, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE604_clEv: %agg.result"} -!2328 = distinct !{!2328, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE604_clEv"} -!2329 = !{!2330} -!2330 = distinct !{!2330, !2331, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE660_clEv: %agg.result"} -!2331 = distinct !{!2331, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE660_clEv"} -!2332 = !{!2333} -!2333 = distinct !{!2333, !2334, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE154_clEv: %agg.result"} -!2334 = distinct !{!2334, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE154_clEv"} -!2335 = !{!2336} -!2336 = distinct !{!2336, !2337, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE226_clEv: %agg.result"} -!2337 = distinct !{!2337, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE226_clEv"} -!2338 = distinct !{!2338, !103} -!2339 = !{i32 10809922} -!2340 = !{!2341} -!2341 = distinct !{!2341, !2342, !"_Z13__invoke_rintIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!2342 = distinct !{!2342, !"_Z13__invoke_rintIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!2343 = distinct !{!2343, !103} -!2344 = !{!2345} -!2345 = distinct !{!2345, !2346, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE594_clEv: %agg.result"} -!2346 = distinct !{!2346, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE594_clEv"} -!2347 = !{!2348} -!2348 = distinct !{!2348, !2349, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} -!2349 = distinct !{!2349, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} -!2350 = distinct !{!2350, !103} -!2351 = !{!2352} -!2352 = distinct !{!2352, !2353, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE579_clEv: %agg.result"} -!2353 = distinct !{!2353, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE579_clEv"} -!2354 = !{i32 10816898} -!2355 = !{!2356} -!2356 = distinct !{!2356, !2357, !"_Z14__invoke_truncIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!2357 = distinct !{!2357, !"_Z14__invoke_truncIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!2358 = !{!2359} -!2359 = distinct !{!2359, !2360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE132_clEv: %agg.result"} -!2360 = distinct !{!2360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE132_clEv"} -!2361 = !{!2362} -!2362 = distinct !{!2362, !2363, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE703_clEv: %agg.result"} -!2363 = distinct !{!2363, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE703_clEv"} -!2364 = distinct !{!2364, !103} -!2365 = !{!2366} -!2366 = distinct !{!2366, !2367, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE578_clEv: %agg.result"} -!2367 = distinct !{!2367, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE578_clEv"} -!2368 = !{!2369} -!2369 = distinct !{!2369, !2370, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE267_clEv: %agg.result"} -!2370 = distinct !{!2370, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE267_clEv"} -!2371 = !{!2372} -!2372 = distinct !{!2372, !2373, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE15_clEv: %agg.result"} -!2373 = distinct !{!2373, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE15_clEv"} -!2374 = !{!2375} -!2375 = distinct !{!2375, !2376, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE776_clEv: %agg.result"} -!2376 = distinct !{!2376, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE776_clEv"} -!2377 = distinct !{!2377, !103} -!2378 = !{!2379} -!2379 = distinct !{!2379, !2380, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE504_clEv: %agg.result"} -!2380 = distinct !{!2380, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE504_clEv"} -!2381 = !{!2382} -!2382 = distinct !{!2382, !2383, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE2_clESD_: %agg.result"} -!2383 = distinct !{!2383, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE2_clESD_"} -!2384 = !{!2385} -!2385 = distinct !{!2385, !2386, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE324_clEv: %agg.result"} -!2386 = distinct !{!2386, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE324_clEv"} -!2387 = !{!2388} -!2388 = distinct !{!2388, !2389, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE624_clEv: %agg.result"} -!2389 = distinct !{!2389, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE624_clEv"} -!2390 = !{!2391} -!2391 = distinct !{!2391, !2392, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!2392 = distinct !{!2392, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!2393 = !{!2394} -!2394 = distinct !{!2394, !2395, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE729_clEv: %agg.result"} -!2395 = distinct !{!2395, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE729_clEv"} -!2396 = !{!2397} -!2397 = distinct !{!2397, !2398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE423_clEv: %agg.result"} -!2398 = distinct !{!2398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE423_clEv"} -!2399 = !{!2400} -!2400 = distinct !{!2400, !2401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE683_clEv: %agg.result"} -!2401 = distinct !{!2401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE683_clEv"} -!2402 = !{!2403} -!2403 = distinct !{!2403, !2404, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE505_clEv: %agg.result"} -!2404 = distinct !{!2404, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE505_clEv"} -!2405 = !{!2406, !129, i64 0} -!2406 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!2407 = !{!2408} -!2408 = distinct !{!2408, !2409, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE625_clEv: %agg.result"} -!2409 = distinct !{!2409, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE625_clEv"} -!2410 = !{!2411} -!2411 = distinct !{!2411, !2412, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!2412 = distinct !{!2412, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} -!2413 = !{i32 10490189} -!2414 = distinct !{!2414, !103} -!2415 = !{!2416, !129, i64 0} -!2416 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2417 = !{!2416, !129, i64 8} -!2418 = !{!2419} -!2419 = distinct !{!2419, !2420, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE709_clEv: %agg.result"} -!2420 = distinct !{!2420, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE709_clEv"} -!2421 = !{!2422} -!2422 = distinct !{!2422, !2423, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!2423 = distinct !{!2423, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!2424 = distinct !{!2424, !103} -!2425 = !{!2426} -!2426 = distinct !{!2426, !2427, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE569_clEv: %agg.result"} -!2427 = distinct !{!2427, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE569_clEv"} -!2428 = !{!2429} -!2429 = distinct !{!2429, !2430, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE689_clEv: %agg.result"} -!2430 = distinct !{!2430, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE689_clEv"} -!2431 = !{!2432} -!2432 = distinct !{!2432, !2433, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!2433 = distinct !{!2433, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!2434 = distinct !{!2434, !103} -!2435 = !{i32 6026090} -!2436 = !{!2437} -!2437 = distinct !{!2437, !2438, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE555_clEv: %agg.result"} -!2438 = distinct !{!2438, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE555_clEv"} -!2439 = distinct !{!2439, !103} -!2440 = !{!2441} -!2441 = distinct !{!2441, !2442, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!2442 = distinct !{!2442, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!2443 = !{!2444} -!2444 = distinct !{!2444, !2445, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!2445 = distinct !{!2445, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!2446 = distinct !{!2446, !103} -!2447 = distinct !{!2447, !103} -!2448 = !{i32 8451034} -!2449 = !{i32 6672373} -!2450 = !{!2451} -!2451 = distinct !{!2451, !2452, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE626_clEv: %agg.result"} -!2452 = distinct !{!2452, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE626_clEv"} -!2453 = !{!2454} -!2454 = distinct !{!2454, !2455, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE244_clEv: %agg.result"} -!2455 = distinct !{!2455, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE244_clEv"} -!2456 = !{!2457} -!2457 = distinct !{!2457, !2458, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE757_clEv: %agg.result"} -!2458 = distinct !{!2458, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE757_clEv"} -!2459 = !{!2460} -!2460 = distinct !{!2460, !2461, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE798_clEv: %agg.result"} -!2461 = distinct !{!2461, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE798_clEv"} -!2462 = !{!2463} -!2463 = distinct !{!2463, !2464, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE187_clEv: %agg.result"} -!2464 = distinct !{!2464, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE187_clEv"} -!2465 = !{i32 -2140803022} -!2466 = !{!2467, !129, i64 0} -!2467 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2468 = distinct !{!2468, !103} -!2469 = !{!2470} -!2470 = distinct !{!2470, !2471, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE17_clEv: %agg.result"} -!2471 = distinct !{!2471, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE17_clEv"} -!2472 = !{!2473} -!2473 = distinct !{!2473, !2474, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!2474 = distinct !{!2474, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!2475 = !{!2476} -!2476 = distinct !{!2476, !2477, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE803_clEv: %agg.result"} -!2477 = distinct !{!2477, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE803_clEv"} -!2478 = !{i32 7649556} -!2479 = !{!2480, !129, i64 0} -!2480 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} -!2481 = !{i32 10788731} -!2482 = !{!2483} -!2483 = distinct !{!2483, !2484, !"_Z13__invoke_cbrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!2484 = distinct !{!2484, !"_Z13__invoke_cbrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!2485 = !{!2486} -!2486 = distinct !{!2486, !2487, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE420_clEv: %agg.result"} -!2487 = distinct !{!2487, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE420_clEv"} -!2488 = !{!2489} -!2489 = distinct !{!2489, !2490, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE704_clEv: %agg.result"} -!2490 = distinct !{!2490, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE704_clEv"} -!2491 = !{!2492} -!2492 = distinct !{!2492, !2493, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE270_clEv: %agg.result"} -!2493 = distinct !{!2493, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE270_clEv"} -!2494 = !{!2495} -!2495 = distinct !{!2495, !2496, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE121_clEv: %agg.result"} -!2496 = distinct !{!2496, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE121_clEv"} -!2497 = distinct !{!2497, !103} -!2498 = !{!2499, !129, i64 24} -!2499 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!2500 = !{!2501} -!2501 = distinct !{!2501, !2502, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE57_clEv: %agg.result"} -!2502 = distinct !{!2502, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE57_clEv"} -!2503 = !{i32 10793527} -!2504 = !{!2505} -!2505 = distinct !{!2505, !2506, !"_Z13__invoke_fdimIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!2506 = distinct !{!2506, !"_Z13__invoke_fdimIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!2507 = distinct !{!2507, !103} -!2508 = !{!2509} -!2509 = distinct !{!2509, !2510, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!2510 = distinct !{!2510, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!2511 = distinct !{!2511, !103} -!2512 = !{!2045, !129, i64 8} -!2513 = !{!2045, !129, i64 16} -!2514 = !{!2045, !129, i64 24} -!2515 = !{!2516, !129, i64 24} -!2516 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!2517 = !{!2518, !129, i64 0} -!2518 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!2519 = distinct !{!2519, !103} -!2520 = !{!2521} -!2521 = distinct !{!2521, !2522, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!2522 = distinct !{!2522, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!2523 = !{!2524, !129, i64 24} -!2524 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!2525 = !{!2526} -!2526 = distinct !{!2526, !2527, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESJ_: %agg.result"} -!2527 = distinct !{!2527, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESJ_"} -!2528 = !{!2529} -!2529 = distinct !{!2529, !2530, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} -!2530 = distinct !{!2530, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} -!2531 = !{!2532} -!2532 = distinct !{!2532, !2533, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE1_clESA_: %agg.result"} -!2533 = distinct !{!2533, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE1_clESA_"} -!2534 = !{!2535} -!2535 = distinct !{!2535, !2536, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!2536 = distinct !{!2536, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} -!2537 = !{!2538} -!2538 = distinct !{!2538, !2539, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE329_clEv: %agg.result"} -!2539 = distinct !{!2539, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE329_clEv"} -!2540 = !{!2541, !129, i64 0} -!2541 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} -!2542 = !{!2543} -!2543 = distinct !{!2543, !2544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE10_clEv: %agg.result"} -!2544 = distinct !{!2544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE10_clEv"} -!2545 = !{!2546} -!2546 = distinct !{!2546, !2547, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!2547 = distinct !{!2547, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!2548 = !{!2549} -!2549 = distinct !{!2549, !2550, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!2550 = distinct !{!2550, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!2551 = !{!2552} -!2552 = distinct !{!2552, !2553, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE472_clEv: %agg.result"} -!2553 = distinct !{!2553, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE472_clEv"} -!2554 = !{i32 9846206} -!2555 = !{i32 10852084} -!2556 = !{!2557} -!2557 = distinct !{!2557, !2558, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!2558 = distinct !{!2558, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!2559 = !{!2560} -!2560 = distinct !{!2560, !2561, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE789_clEv: %agg.result"} -!2561 = distinct !{!2561, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE789_clEv"} -!2562 = !{!2563} -!2563 = distinct !{!2563, !2564, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE635_clEv: %agg.result"} -!2564 = distinct !{!2564, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE635_clEv"} -!2565 = !{!2566} -!2566 = distinct !{!2566, !2567, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} -!2567 = distinct !{!2567, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} -!2568 = !{!2569} -!2569 = distinct !{!2569, !2570, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!2570 = distinct !{!2570, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!2571 = distinct !{!2571, !103} -!2572 = distinct !{!2572, !103} -!2573 = !{!2574} -!2574 = distinct !{!2574, !2575, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE665_clEv: %agg.result"} -!2575 = distinct !{!2575, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE665_clEv"} -!2576 = distinct !{!2576, !103} -!2577 = !{!2578} -!2578 = distinct !{!2578, !2579, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE108_clEv: %agg.result"} -!2579 = distinct !{!2579, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE108_clEv"} -!2580 = distinct !{!2580, !103} -!2581 = !{!2582} -!2582 = distinct !{!2582, !2583, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE_clESB_: %agg.result"} -!2583 = distinct !{!2583, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE_clESB_"} -!2584 = distinct !{!2584, !103} -!2585 = !{!2586, !129, i64 0} -!2586 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE0EEE", !129, i64 0} -!2587 = !{!2588} -!2588 = distinct !{!2588, !2589, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!2589 = distinct !{!2589, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!2590 = !{!2591} -!2591 = distinct !{!2591, !2592, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE550_clEv: %agg.result"} -!2592 = distinct !{!2592, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE550_clEv"} -!2593 = !{!2594} -!2594 = distinct !{!2594, !2595, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE676_clEv: %agg.result"} -!2595 = distinct !{!2595, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE676_clEv"} -!2596 = !{!2597} -!2597 = distinct !{!2597, !2598, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE522_clEv: %agg.result"} -!2598 = distinct !{!2598, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE522_clEv"} -!2599 = !{!700, !129, i64 8} -!2600 = !{!2601} -!2601 = distinct !{!2601, !2602, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE146_clEv: %agg.result"} -!2602 = distinct !{!2602, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE146_clEv"} -!2603 = !{!1088, !129, i64 8} -!2604 = !{!1088, !129, i64 16} -!2605 = !{!1088, !129, i64 24} -!2606 = !{!2607} -!2607 = distinct !{!2607, !2608, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE617_clEv: %agg.result"} -!2608 = distinct !{!2608, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE617_clEv"} -!2609 = !{!2610} -!2610 = distinct !{!2610, !2611, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE664_clEv: %agg.result"} -!2611 = distinct !{!2611, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE664_clEv"} -!2612 = !{!2613} -!2613 = distinct !{!2613, !2614, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!2614 = distinct !{!2614, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!2615 = !{!2616} -!2616 = distinct !{!2616, !2617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE623_clEv: %agg.result"} -!2617 = distinct !{!2617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE623_clEv"} -!2618 = !{!2619} -!2619 = distinct !{!2619, !2620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} -!2620 = distinct !{!2620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} -!2621 = !{!2622, !129, i64 0} -!2622 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE1EEE", !129, i64 0} -!2623 = !{!2624} -!2624 = distinct !{!2624, !2625, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} -!2625 = distinct !{!2625, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} -!2626 = !{!2627} -!2627 = distinct !{!2627, !2628, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!2628 = distinct !{!2628, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} -!2629 = !{i32 10500945} -!2630 = !{!2631} -!2631 = distinct !{!2631, !2632, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE542_clEv: %agg.result"} -!2632 = distinct !{!2632, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE542_clEv"} -!2633 = !{!2634} -!2634 = distinct !{!2634, !2635, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE743_clEv: %agg.result"} -!2635 = distinct !{!2635, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE743_clEv"} -!2636 = !{i32 10788448} -!2637 = !{!2638} -!2638 = distinct !{!2638, !2639, !"_Z16__invoke_atan2piIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!2639 = distinct !{!2639, !"_Z16__invoke_atan2piIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!2640 = !{!2641} -!2641 = distinct !{!2641, !2642, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE802_clEv: %agg.result"} -!2642 = distinct !{!2642, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE802_clEv"} -!2643 = !{i32 -2140793329} -!2644 = !{!2645} -!2645 = distinct !{!2645, !2646, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE584_clEv: %agg.result"} -!2646 = distinct !{!2646, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE584_clEv"} -!2647 = !{!2648} -!2648 = distinct !{!2648, !2649, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE59_clEv: %agg.result"} -!2649 = distinct !{!2649, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE59_clEv"} -!2650 = !{i32 -2140792616} -!2651 = !{!2652} -!2652 = distinct !{!2652, !2653, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE574_clEv: %agg.result"} -!2653 = distinct !{!2653, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE574_clEv"} -!2654 = !{!2655} -!2655 = distinct !{!2655, !2656, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE236_clEv: %agg.result"} -!2656 = distinct !{!2656, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE236_clEv"} -!2657 = distinct !{!2657, !103} -!2658 = !{i32 10787285} -!2659 = !{!2660} -!2660 = distinct !{!2660, !2661, !"_Z13__invoke_atanIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!2661 = distinct !{!2661, !"_Z13__invoke_atanIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!2662 = !{!2663} -!2663 = distinct !{!2663, !2664, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE813_clEv: %agg.result"} -!2664 = distinct !{!2664, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE813_clEv"} -!2665 = distinct !{!2665, !103} -!2666 = !{!2667} -!2667 = distinct !{!2667, !2668, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE601_clEv: %agg.result"} -!2668 = distinct !{!2668, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE601_clEv"} -!2669 = !{!2670} -!2670 = distinct !{!2670, !2671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE169_clEv: %agg.result"} -!2671 = distinct !{!2671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE169_clEv"} -!2672 = distinct !{!2672, !103} -!2673 = !{!2674} -!2674 = distinct !{!2674, !2675, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!2675 = distinct !{!2675, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!2676 = distinct !{!2676, !103} -!2677 = !{!2678} -!2678 = distinct !{!2678, !2679, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE706_clEv: %agg.result"} -!2679 = distinct !{!2679, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE706_clEv"} -!2680 = distinct !{!2680, !103} -!2681 = !{!2682} -!2682 = distinct !{!2682, !2683, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE514_clEv: %agg.result"} -!2683 = distinct !{!2683, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE514_clEv"} -!2684 = !{!2685} -!2685 = distinct !{!2685, !2686, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE508_clEv: %agg.result"} -!2686 = distinct !{!2686, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE508_clEv"} -!2687 = distinct !{!2687, !103} -!2688 = !{!2689} -!2689 = distinct !{!2689, !2690, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE30_clEv: %agg.result"} -!2690 = distinct !{!2690, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE30_clEv"} -!2691 = !{i32 10791426} -!2692 = !{!2693} -!2693 = distinct !{!2693, !2694, !"_Z12__invoke_expIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!2694 = distinct !{!2694, !"_Z12__invoke_expIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!2695 = distinct !{!2695, !103} -!2696 = !{!2697, !127, i64 0} -!2697 = !{!"_ZTSZZ30check_function_multi_ptr_localILi4300419EN4sycl3_V16detail9half_impl4halfEZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlNS1_14local_accessorIiLi1EEEE0_iEvSA_T1_T2_NS7_9resultRefIT0_EESF_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlRNS1_7handlerEE_clESS_EUlNS1_7nd_itemILi1EEEE_", !127, i64 0, !807, i64 8, !809, i64 40, !811, i64 72, !2698, i64 104} -!2698 = !{!"_ZTSZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEEUlN4sycl3_V114local_accessorIiLi1EEEE0_"} -!2699 = !{i32 10798926} -!2700 = !{!2701} -!2701 = distinct !{!2701, !2702, !"_Z14__invoke_ldexpIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_: %agg.result"} -!2702 = distinct !{!2702, !"_Z14__invoke_ldexpIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_"} -!2703 = !{!2704} -!2704 = distinct !{!2704, !2705, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} -!2705 = distinct !{!2705, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} -!2706 = !{!2707} -!2707 = distinct !{!2707, !2708, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!2708 = distinct !{!2708, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_S6_ET_T0_T1_T2_"} -!2709 = !{!2710} -!2710 = distinct !{!2710, !2711, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE573_clEv: %agg.result"} -!2711 = distinct !{!2711, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE573_clEv"} -!2712 = !{i32 501303} -!2713 = distinct !{!2713, !103} -!2714 = distinct !{!2714, !103} -!2715 = !{!2716} -!2716 = distinct !{!2716, !2717, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE306_clEv: %agg.result"} -!2717 = distinct !{!2717, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE306_clEv"} -!2718 = distinct !{!2718, !103} -!2719 = !{!2720} -!2720 = distinct !{!2720, !2721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE0_clESA_: %agg.result"} -!2721 = distinct !{!2721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE0_clESA_"} -!2722 = !{!2723} -!2723 = distinct !{!2723, !2724, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE156_clEv: %agg.result"} -!2724 = distinct !{!2724, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE156_clEv"} -!2725 = !{!2726} -!2726 = distinct !{!2726, !2727, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!2727 = distinct !{!2727, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!2728 = distinct !{!2728, !103} -!2729 = !{!2730} -!2730 = distinct !{!2730, !2731, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE96_clEv: %agg.result"} -!2731 = distinct !{!2731, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE96_clEv"} -!2732 = !{!2733} -!2733 = distinct !{!2733, !2734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE727_clEv: %agg.result"} -!2734 = distinct !{!2734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE727_clEv"} -!2735 = !{!2736} -!2736 = distinct !{!2736, !2737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE189_clEv: %agg.result"} -!2737 = distinct !{!2737, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE189_clEv"} -!2738 = !{i32 6672051} -!2739 = !{!2740} -!2740 = distinct !{!2740, !2741, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!2741 = distinct !{!2741, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!2742 = !{!2743} -!2743 = distinct !{!2743, !2744, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE467_clEv: %agg.result"} -!2744 = distinct !{!2744, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE467_clEv"} -!2745 = !{!2746} -!2746 = distinct !{!2746, !2747, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE91_clEv: %agg.result"} -!2747 = distinct !{!2747, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE91_clEv"} -!2748 = !{!2749, !129, i64 0} -!2749 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!2750 = !{!2749, !129, i64 8} -!2751 = !{!2749, !129, i64 16} -!2752 = !{!2749, !129, i64 24} -!2753 = distinct !{!2753, !103} -!2754 = !{i32 10814663} -!2755 = !{!2756} -!2756 = distinct !{!2756, !2757, !"_Z14__invoke_sinpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!2757 = distinct !{!2757, !"_Z14__invoke_sinpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!2758 = !{!2759} -!2759 = distinct !{!2759, !2760, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} -!2760 = distinct !{!2760, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} -!2761 = !{!2762} -!2762 = distinct !{!2762, !2763, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE619_clEv: %agg.result"} -!2763 = distinct !{!2763, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE619_clEv"} -!2764 = !{i32 1353771} -!2765 = !{!2766, !129, i64 0} -!2766 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} -!2767 = !{!2768, !129, i64 0} -!2768 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} -!2769 = !{!2770} -!2770 = distinct !{!2770, !2771, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE773_clEv: %agg.result"} -!2771 = distinct !{!2771, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE773_clEv"} -!2772 = distinct !{!2772, !103} -!2773 = !{!2774} -!2774 = distinct !{!2774, !2775, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE607_clEv: %agg.result"} -!2775 = distinct !{!2775, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE607_clEv"} -!2776 = !{!2777} -!2777 = distinct !{!2777, !2778, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE383_clEv: %agg.result"} -!2778 = distinct !{!2778, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE383_clEv"} -!2779 = !{!2780} -!2780 = distinct !{!2780, !2781, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE93_clEv: %agg.result"} -!2781 = distinct !{!2781, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE93_clEv"} -!2782 = !{!2783, !129, i64 0} -!2783 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!2784 = !{!2783, !129, i64 8} -!2785 = !{!2786} -!2786 = distinct !{!2786, !2787, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!2787 = distinct !{!2787, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!2788 = distinct !{!2788, !103} -!2789 = !{!2790} -!2790 = distinct !{!2790, !2791, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE691_clEv: %agg.result"} -!2791 = distinct !{!2791, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE691_clEv"} -!2792 = !{!2793} -!2793 = distinct !{!2793, !2794, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE657_clEv: %agg.result"} -!2794 = distinct !{!2794, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE657_clEv"} -!2795 = !{!2796} -!2796 = distinct !{!2796, !2797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE48_clEv: %agg.result"} -!2797 = distinct !{!2797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE48_clEv"} -!2798 = !{!2799, !129, i64 0} -!2799 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2800 = !{!2801} -!2801 = distinct !{!2801, !2802, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!2802 = distinct !{!2802, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!2803 = !{!2804} -!2804 = distinct !{!2804, !2805, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE429_clEv: %agg.result"} -!2805 = distinct !{!2805, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE429_clEv"} -!2806 = !{i32 10787865} -!2807 = !{!2808} -!2808 = distinct !{!2808, !2809, !"_Z14__invoke_atanhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!2809 = distinct !{!2809, !"_Z14__invoke_atanhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!2810 = !{!2811} -!2811 = distinct !{!2811, !2812, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE25_clEv: %agg.result"} -!2812 = distinct !{!2812, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE25_clEv"} -!2813 = !{!2814} -!2814 = distinct !{!2814, !2815, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE349_clEv: %agg.result"} -!2815 = distinct !{!2815, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE349_clEv"} -!2816 = distinct !{!2816, !103} -!2817 = !{!2818, !129, i64 0} -!2818 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE0ELNS5_9decoratedE1EEE", !129, i64 0} -!2819 = !{!2820} -!2820 = distinct !{!2820, !2821, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!2821 = distinct !{!2821, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!2822 = !{!2823} -!2823 = distinct !{!2823, !2824, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE614_clEv: %agg.result"} -!2824 = distinct !{!2824, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE614_clEv"} -!2825 = !{!2467, !129, i64 8} -!2826 = distinct !{!2826, !103} -!2827 = !{!2828} -!2828 = distinct !{!2828, !2829, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE435_clEv: %agg.result"} -!2829 = distinct !{!2829, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE435_clEv"} -!2830 = !{i32 10794128} -!2831 = !{!2832} -!2832 = distinct !{!2832, !2833, !"_Z12__invoke_fmaIN4sycl3_V16detail9half_impl4halfES4_S4_S4_ET_T0_T1_T2_: %agg.result"} -!2833 = distinct !{!2833, !"_Z12__invoke_fmaIN4sycl3_V16detail9half_impl4halfES4_S4_S4_ET_T0_T1_T2_"} -!2834 = !{!2835} -!2835 = distinct !{!2835, !2836, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE77_clEv: %agg.result"} -!2836 = distinct !{!2836, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE77_clEv"} -!2837 = !{!2838} -!2838 = distinct !{!2838, !2839, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE807_clEv: %agg.result"} -!2839 = distinct !{!2839, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE807_clEv"} -!2840 = !{!2841} -!2841 = distinct !{!2841, !2842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE144_clEv: %agg.result"} -!2842 = distinct !{!2842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE144_clEv"} -!2843 = !{i32 -2140797800} -!2844 = distinct !{!2844, !103} -!2845 = !{i32 10807614} -!2846 = !{!2847} -!2847 = distinct !{!2847, !2848, !"_Z13__invoke_powrIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!2848 = distinct !{!2848, !"_Z13__invoke_powrIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!2849 = !{!2850} -!2850 = distinct !{!2850, !2851, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE363_clEv: %agg.result"} -!2851 = distinct !{!2851, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE363_clEv"} -!2852 = !{!2853} -!2853 = distinct !{!2853, !2854, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE213_clEv: %agg.result"} -!2854 = distinct !{!2854, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE213_clEv"} -!2855 = !{!2856} -!2856 = distinct !{!2856, !2857, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!2857 = distinct !{!2857, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} -!2858 = !{!2859, !129, i64 0} -!2859 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE1EEE", !129, i64 0} -!2860 = !{!2861} -!2861 = distinct !{!2861, !2862, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE62_clEv: %agg.result"} -!2862 = distinct !{!2862, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE62_clEv"} -!2863 = distinct !{!2863, !103} -!2864 = !{!2865} -!2865 = distinct !{!2865, !2866, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE613_clEv: %agg.result"} -!2866 = distinct !{!2866, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE613_clEv"} -!2867 = !{!2868} -!2868 = distinct !{!2868, !2869, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE238_clEv: %agg.result"} -!2869 = distinct !{!2869, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE238_clEv"} -!2870 = !{!2871} -!2871 = distinct !{!2871, !2872, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!2872 = distinct !{!2872, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!2873 = !{!2874} -!2874 = distinct !{!2874, !2875, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE193_clEv: %agg.result"} -!2875 = distinct !{!2875, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE193_clEv"} -!2876 = !{!2877, !129, i64 0} -!2877 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!2878 = !{!2877, !129, i64 8} -!2879 = !{!2877, !129, i64 16} -!2880 = !{!2881} -!2881 = distinct !{!2881, !2882, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE348_clEv: %agg.result"} -!2882 = distinct !{!2882, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE348_clEv"} -!2883 = !{!2884} -!2884 = distinct !{!2884, !2885, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE217_clEv: %agg.result"} -!2885 = distinct !{!2885, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE217_clEv"} -!2886 = !{!2887} -!2887 = distinct !{!2887, !2888, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!2888 = distinct !{!2888, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!2889 = distinct !{!2889, !103} -!2890 = !{!2891} -!2891 = distinct !{!2891, !2892, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE463_clEv: %agg.result"} -!2892 = distinct !{!2892, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE463_clEv"} -!2893 = !{i32 243692} -!2894 = distinct !{!2894, !103} -!2895 = !{!2896, !129, i64 0} -!2896 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!2897 = !{!2898} -!2898 = distinct !{!2898, !2899, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE654_clEv: %agg.result"} -!2899 = distinct !{!2899, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE654_clEv"} -!2900 = !{!2901, !129, i64 0} -!2901 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!2902 = !{!2901, !129, i64 8} -!2903 = !{!2901, !129, i64 16} -!2904 = !{!2901, !129, i64 24} -!2905 = !{!2906} -!2906 = distinct !{!2906, !2907, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE389_clEv: %agg.result"} -!2907 = distinct !{!2907, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE389_clEv"} -!2908 = !{!2909} -!2909 = distinct !{!2909, !2910, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE749_clEv: %agg.result"} -!2910 = distinct !{!2910, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE749_clEv"} -!2911 = !{!2912} -!2912 = distinct !{!2912, !2913, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!2913 = distinct !{!2913, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!2914 = !{!2915} -!2915 = distinct !{!2915, !2916, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE87_clEv: %agg.result"} -!2916 = distinct !{!2916, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE87_clEv"} -!2917 = distinct !{!2917, !103} -!2918 = distinct !{!2918, !103} -!2919 = !{!2920, !129, i64 0} -!2920 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} -!2921 = !{i32 10496877} -!2922 = distinct !{!2922, !103} -!2923 = !{i32 10816626} -!2924 = !{!2925} -!2925 = distinct !{!2925, !2926, !"_Z15__invoke_tgammaIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!2926 = distinct !{!2926, !"_Z15__invoke_tgammaIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!2927 = distinct !{!2927, !103} -!2928 = !{!2929} -!2929 = distinct !{!2929, !2930, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE707_clEv: %agg.result"} -!2930 = distinct !{!2930, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE707_clEv"} -!2931 = !{!2932} -!2932 = distinct !{!2932, !2933, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE46_clEv: %agg.result"} -!2933 = distinct !{!2933, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE46_clEv"} -!2934 = !{!2935} -!2935 = distinct !{!2935, !2936, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE778_clEv: %agg.result"} -!2936 = distinct !{!2936, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE778_clEv"} -!2937 = !{!2938} -!2938 = distinct !{!2938, !2939, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE76_clEv: %agg.result"} -!2939 = distinct !{!2939, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE76_clEv"} -!2940 = distinct !{!2940, !103} -!2941 = !{!2942} -!2942 = distinct !{!2942, !2943, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_: %agg.result"} -!2943 = distinct !{!2943, !"_Z13__invoke_pownIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_"} -!2944 = !{i32 1356380} -!2945 = distinct !{!2945, !103} -!2946 = !{!2947} -!2947 = distinct !{!2947, !2948, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE0_clESA_: %agg.result"} -!2948 = distinct !{!2948, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE0_clESA_"} -!2949 = !{!2950} -!2950 = distinct !{!2950, !2951, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE390_clEv: %agg.result"} -!2951 = distinct !{!2951, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE390_clEv"} -!2952 = !{!2953} -!2953 = distinct !{!2953, !2954, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE765_clEv: %agg.result"} -!2954 = distinct !{!2954, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE765_clEv"} -!2955 = !{!2956} -!2956 = distinct !{!2956, !2957, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE94_clEv: %agg.result"} -!2957 = distinct !{!2957, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE94_clEv"} -!2958 = distinct !{!2958, !103} -!2959 = !{!2960} -!2960 = distinct !{!2960, !2961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE790_clEv: %agg.result"} -!2961 = distinct !{!2961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE790_clEv"} -!2962 = distinct !{!2962, !103} -!2963 = !{!2964} -!2964 = distinct !{!2964, !2965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE417_clEv: %agg.result"} -!2965 = distinct !{!2965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE417_clEv"} -!2966 = distinct !{!2966, !103} -!2967 = !{!2968} -!2968 = distinct !{!2968, !2969, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!2969 = distinct !{!2969, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!2970 = distinct !{!2970, !103} -!2971 = !{!2972} -!2972 = distinct !{!2972, !2973, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE678_clEv: %agg.result"} -!2973 = distinct !{!2973, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE678_clEv"} -!2974 = !{!2975} -!2975 = distinct !{!2975, !2976, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE811_clEv: %agg.result"} -!2976 = distinct !{!2976, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE811_clEv"} -!2977 = distinct !{!2977, !103} -!2978 = !{!1234, !129, i64 8} -!2979 = !{!1234, !129, i64 16} -!2980 = !{!1234, !129, i64 24} -!2981 = !{i32 10803341} -!2982 = !{!2983} -!2983 = distinct !{!2983, !2984, !"_Z12__invoke_madIN4sycl3_V16detail9half_impl4halfES4_S4_S4_ET_T0_T1_T2_: %agg.result"} -!2984 = distinct !{!2984, !"_Z12__invoke_madIN4sycl3_V16detail9half_impl4halfES4_S4_S4_ET_T0_T1_T2_"} -!2985 = !{!2986} -!2986 = distinct !{!2986, !2987, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE2_clESD_: %agg.result"} -!2987 = distinct !{!2987, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE2_clESD_"} -!2988 = !{!2989} -!2989 = distinct !{!2989, !2990, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE167_clEv: %agg.result"} -!2990 = distinct !{!2990, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE167_clEv"} -!2991 = !{!2992} -!2992 = distinct !{!2992, !2993, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE468_clEv: %agg.result"} -!2993 = distinct !{!2993, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE468_clEv"} -!2994 = !{!2995} -!2995 = distinct !{!2995, !2996, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE_clESA_: %agg.result"} -!2996 = distinct !{!2996, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE_clESA_"} -!2997 = !{!2998, !129, i64 0} -!2998 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm3EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!2999 = !{!3000} -!3000 = distinct !{!3000, !3001, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE793_clEv: %agg.result"} -!3001 = distinct !{!3001, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE793_clEv"} -!3002 = distinct !{!3002, !103} -!3003 = !{!3004} -!3004 = distinct !{!3004, !3005, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!3005 = distinct !{!3005, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} -!3006 = !{!3007} -!3007 = distinct !{!3007, !3008, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE465_clEv: %agg.result"} -!3008 = distinct !{!3008, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE465_clEv"} -!3009 = !{!3010} -!3010 = distinct !{!3010, !3011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE345_clEv: %agg.result"} -!3011 = distinct !{!3011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE345_clEv"} -!3012 = !{!3013} -!3013 = distinct !{!3013, !3014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE3_clESA_: %agg.result"} -!3014 = distinct !{!3014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE3_clESA_"} -!3015 = !{i32 1190284} -!3016 = !{!3017, !129, i64 0} -!3017 = !{!"_ZTSZNK4sycl3_V18accessorIiLi1ELNS0_6access4modeE1025ELNS2_6targetE2014ELNS2_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!3018 = !{!3017, !129, i64 8} -!3019 = !{!3017, !129, i64 16} -!3020 = !{!3021} -!3021 = distinct !{!3021, !3022, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE695_clEv: %agg.result"} -!3022 = distinct !{!3022, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE695_clEv"} -!3023 = !{i32 10518820} -!3024 = distinct !{!3024, !103} -!3025 = distinct !{!3025, !103} -!3026 = !{!3027, !129, i64 0} -!3027 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm17EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} -!3028 = !{!3029} -!3029 = distinct !{!3029, !3030, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3030 = distinct !{!3030, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3031 = !{!3032} -!3032 = distinct !{!3032, !3033, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE591_clEv: %agg.result"} -!3033 = distinct !{!3033, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE591_clEv"} -!3034 = !{!3035} -!3035 = distinct !{!3035, !3036, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE523_clEv: %agg.result"} -!3036 = distinct !{!3036, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE523_clEv"} -!3037 = distinct !{!3037, !103} -!3038 = !{!3039} -!3039 = distinct !{!3039, !3040, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} -!3040 = distinct !{!3040, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} -!3041 = !{!3042} -!3042 = distinct !{!3042, !3043, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE271_clEv: %agg.result"} -!3043 = distinct !{!3043, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE271_clEv"} -!3044 = distinct !{!3044, !103} -!3045 = distinct !{!3045, !103} -!3046 = !{!3047} -!3047 = distinct !{!3047, !3048, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!3048 = distinct !{!3048, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!3049 = distinct !{!3049, !103} -!3050 = !{!3051} -!3051 = distinct !{!3051, !3052, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE139_clEv: %agg.result"} -!3052 = distinct !{!3052, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE139_clEv"} -!3053 = distinct !{!3053, !103} -!3054 = !{!3055} -!3055 = distinct !{!3055, !3056, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE58_clEv: %agg.result"} -!3056 = distinct !{!3056, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE58_clEv"} -!3057 = distinct !{!3057, !103} -!3058 = distinct !{!3058, !103} -!3059 = !{!3060} -!3060 = distinct !{!3060, !3061, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!3061 = distinct !{!3061, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!3062 = !{!3063} -!3063 = distinct !{!3063, !3064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE792_clEv: %agg.result"} -!3064 = distinct !{!3064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE792_clEv"} -!3065 = !{!3066} -!3066 = distinct !{!3066, !3067, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3067 = distinct !{!3067, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3068 = distinct !{!3068, !103} -!3069 = !{!3070} -!3070 = distinct !{!3070, !3071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE723_clEv: %agg.result"} -!3071 = distinct !{!3071, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE723_clEv"} -!3072 = distinct !{!3072, !103} -!3073 = !{!3074} -!3074 = distinct !{!3074, !3075, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} -!3075 = distinct !{!3075, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} -!3076 = !{!3077, !129, i64 0} -!3077 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!3078 = !{!3079} -!3079 = distinct !{!3079, !3080, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE769_clEv: %agg.result"} -!3080 = distinct !{!3080, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE769_clEv"} -!3081 = !{!3082} -!3082 = distinct !{!3082, !3083, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE153_clEv: %agg.result"} -!3083 = distinct !{!3083, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE153_clEv"} -!3084 = distinct !{!3084, !103} -!3085 = !{!3086} -!3086 = distinct !{!3086, !3087, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3087 = distinct !{!3087, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3088 = distinct !{!3088, !103} -!3089 = distinct !{!3089, !103} -!3090 = !{!3091} -!3091 = distinct !{!3091, !3092, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE42_clEv: %agg.result"} -!3092 = distinct !{!3092, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE42_clEv"} -!3093 = !{!3094} -!3094 = distinct !{!3094, !3095, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE4_clESD_: %agg.result"} -!3095 = distinct !{!3095, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE4_clESD_"} -!3096 = distinct !{!3096, !103} -!3097 = !{!3098} -!3098 = distinct !{!3098, !3099, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!3099 = distinct !{!3099, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!3100 = !{!3101} -!3101 = distinct !{!3101, !3102, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE459_clEv: %agg.result"} -!3102 = distinct !{!3102, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE459_clEv"} -!3103 = distinct !{!3103, !103} -!3104 = !{!3105} -!3105 = distinct !{!3105, !3106, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} -!3106 = distinct !{!3106, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} -!3107 = !{!3108} -!3108 = distinct !{!3108, !3109, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE509_clEv: %agg.result"} -!3109 = distinct !{!3109, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE509_clEv"} -!3110 = !{!3111} -!3111 = distinct !{!3111, !3112, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE384_clEv: %agg.result"} -!3112 = distinct !{!3112, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE384_clEv"} -!3113 = !{!3114, !129, i64 24} -!3114 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1026ELNS5_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!3115 = distinct !{!3115, !103} -!3116 = !{!3117, !129, i64 0} -!3117 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!3118 = !{!3117, !129, i64 8} -!3119 = !{!3117, !129, i64 16} -!3120 = !{!3121} -!3121 = distinct !{!3121, !3122, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!3122 = distinct !{!3122, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!3123 = !{!3124} -!3124 = distinct !{!3124, !3125, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} -!3125 = distinct !{!3125, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} -!3126 = !{!3127} -!3127 = distinct !{!3127, !3128, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_: %agg.result"} -!3128 = distinct !{!3128, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_NS2_IiLi8EEEET_T0_T1_"} -!3129 = !{!3130} -!3130 = distinct !{!3130, !3131, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!3131 = distinct !{!3131, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!3132 = !{!3133} -!3133 = distinct !{!3133, !3134, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!3134 = distinct !{!3134, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!3135 = !{!3136} -!3136 = distinct !{!3136, !3137, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE180_clEv: %agg.result"} -!3137 = distinct !{!3137, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE180_clEv"} -!3138 = !{!3139} -!3139 = distinct !{!3139, !3140, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!3140 = distinct !{!3140, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!3141 = !{!3142} -!3142 = distinct !{!3142, !3143, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE506_clEv: %agg.result"} -!3143 = distinct !{!3143, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE506_clEv"} -!3144 = !{!3145} -!3145 = distinct !{!3145, !3146, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!3146 = distinct !{!3146, !"_Z12__invoke_powIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!3147 = !{!2043, !129, i64 8} -!3148 = distinct !{!3148, !103} -!3149 = !{!3150} -!3150 = distinct !{!3150, !3151, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3151 = distinct !{!3151, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3152 = !{!3153} -!3153 = distinct !{!3153, !3154, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_T2_: %agg.result"} -!3154 = distinct !{!3154, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_T2_"} -!3155 = !{!3156} -!3156 = distinct !{!3156, !3157, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE712_clEv: %agg.result"} -!3157 = distinct !{!3157, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE712_clEv"} -!3158 = !{i32 10802382} -!3159 = !{!3160} -!3160 = distinct !{!3160, !3161, !"_Z14__invoke_log10IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!3161 = distinct !{!3161, !"_Z14__invoke_log10IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!3162 = distinct !{!3162, !103} -!3163 = !{!3164} -!3164 = distinct !{!3164, !3165, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE177_clEv: %agg.result"} -!3165 = distinct !{!3165, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE177_clEv"} -!3166 = !{!3167} -!3167 = distinct !{!3167, !3168, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3168 = distinct !{!3168, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3169 = !{!3170} -!3170 = distinct !{!3170, !3171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE53_clEv: %agg.result"} -!3171 = distinct !{!3171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE53_clEv"} -!3172 = !{!3173} -!3173 = distinct !{!3173, !3174, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE186_clEv: %agg.result"} -!3174 = distinct !{!3174, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE186_clEv"} -!3175 = distinct !{!3175, !103} -!3176 = distinct !{!3176, !103} -!3177 = !{!3178} -!3178 = distinct !{!3178, !3179, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!3179 = distinct !{!3179, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!3180 = !{!3181} -!3181 = distinct !{!3181, !3182, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!3182 = distinct !{!3182, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!3183 = distinct !{!3183, !103} -!3184 = distinct !{!3184, !103} -!3185 = !{i32 10795057} -!3186 = !{!3187} -!3187 = distinct !{!3187, !3188, !"_Z13__invoke_fmodIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!3188 = distinct !{!3188, !"_Z13__invoke_fmodIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!3189 = !{!3190} -!3190 = distinct !{!3190, !3191, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE447_clEv: %agg.result"} -!3191 = distinct !{!3191, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE447_clEv"} -!3192 = !{!3193} -!3193 = distinct !{!3193, !3194, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE738_clEv: %agg.result"} -!3194 = distinct !{!3194, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE738_clEv"} -!3195 = distinct !{!3195, !103} -!3196 = !{!3197} -!3197 = distinct !{!3197, !3198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE218_clEv: %agg.result"} -!3198 = distinct !{!3198, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE218_clEv"} -!3199 = distinct !{!3199, !103} -!3200 = !{!3201} -!3201 = distinct !{!3201, !3202, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE171_clEv: %agg.result"} -!3202 = distinct !{!3202, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE171_clEv"} -!3203 = !{!3204} -!3204 = distinct !{!3204, !3205, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!3205 = distinct !{!3205, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!3206 = !{i32 10794445} -!3207 = !{!3208} -!3208 = distinct !{!3208, !3209, !"_Z13__invoke_fmaxIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!3209 = distinct !{!3209, !"_Z13__invoke_fmaxIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!3210 = !{!3211, !129, i64 0} -!3211 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EE6__initEPU3AS3S3_NS0_5rangeILi1EEESB_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!3212 = !{i32 9846426} -!3213 = distinct !{!3213, !103} -!3214 = !{!3215} -!3215 = distinct !{!3215, !3216, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE143_clEv: %agg.result"} -!3216 = distinct !{!3216, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE143_clEv"} -!3217 = !{!3218} -!3218 = distinct !{!3218, !3219, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE51_clEv: %agg.result"} -!3219 = distinct !{!3219, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE51_clEv"} -!3220 = !{!3221} -!3221 = distinct !{!3221, !3222, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!3222 = distinct !{!3222, !"_Z15__invoke_atanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!3223 = !{!3224} -!3224 = distinct !{!3224, !3225, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE325_clEv: %agg.result"} -!3225 = distinct !{!3225, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE325_clEv"} -!3226 = distinct !{!3226, !103} -!3227 = !{!3228} -!3228 = distinct !{!3228, !3229, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!3229 = distinct !{!3229, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!3230 = !{!3231} -!3231 = distinct !{!3231, !3232, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE2_clESA_: %agg.result"} -!3232 = distinct !{!3232, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE2_clESA_"} -!3233 = distinct !{!3233, !103} -!3234 = !{!3235} -!3235 = distinct !{!3235, !3236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE517_clEv: %agg.result"} -!3236 = distinct !{!3236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE517_clEv"} -!3237 = !{i32 10790956} -!3238 = !{!3239} -!3239 = distinct !{!3239, !3240, !"_Z12__invoke_erfIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!3240 = distinct !{!3240, !"_Z12__invoke_erfIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!3241 = !{!3242} -!3242 = distinct !{!3242, !3243, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE410_clEv: %agg.result"} -!3243 = distinct !{!3243, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE410_clEv"} -!3244 = !{!3245} -!3245 = distinct !{!3245, !3246, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE490_clEv: %agg.result"} -!3246 = distinct !{!3246, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE490_clEv"} -!3247 = distinct !{!3247, !103} -!3248 = !{!3249} -!3249 = distinct !{!3249, !3250, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE170_clEv: %agg.result"} -!3250 = distinct !{!3250, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE170_clEv"} -!3251 = !{!3252} -!3252 = distinct !{!3252, !3253, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE750_clEv: %agg.result"} -!3253 = distinct !{!3253, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE750_clEv"} -!3254 = !{i32 10870207} -!3255 = !{!3256} -!3256 = distinct !{!3256, !3257, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3257 = distinct !{!3257, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3258 = !{!174, !129, i64 8} -!3259 = !{!174, !129, i64 16} -!3260 = !{!174, !129, i64 24} -!3261 = !{!3262} -!3262 = distinct !{!3262, !3263, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3263 = distinct !{!3263, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3264 = !{!3265} -!3265 = distinct !{!3265, !3266, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE740_clEv: %agg.result"} -!3266 = distinct !{!3266, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE740_clEv"} -!3267 = !{!1478, !129, i64 8} -!3268 = !{!1478, !129, i64 16} -!3269 = !{!1478, !129, i64 24} -!3270 = !{i32 10851374} -!3271 = !{!3272} -!3272 = distinct !{!3272, !3273, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!3273 = distinct !{!3273, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!3274 = !{!808, !129, i64 24} -!3275 = !{!3276, !129, i64 0} -!3276 = !{!"_ZTSZN4sycl3_V119local_accessor_baseIiLi1ELNS0_6access4modeE1026ELNS2_11placeholderE0EE6__initEPU3AS3iNS0_5rangeILi1EEES9_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!3277 = !{!3278} -!3278 = distinct !{!3278, !3279, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESJ_: %agg.result"} -!3279 = distinct !{!3279, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESJ_"} -!3280 = !{!3281} -!3281 = distinct !{!3281, !3282, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE615_clEv: %agg.result"} -!3282 = distinct !{!3282, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE615_clEv"} -!3283 = !{!3284} -!3284 = distinct !{!3284, !3285, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_: %agg.result"} -!3285 = distinct !{!3285, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESL_"} -!3286 = !{i32 6027567} -!3287 = !{!3288} -!3288 = distinct !{!3288, !3289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE3_clESD_: %agg.result"} -!3289 = distinct !{!3289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE3_clESD_"} -!3290 = distinct !{!3290, !103} -!3291 = !{!3292} -!3292 = distinct !{!3292, !3293, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!3293 = distinct !{!3293, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!3294 = !{!3295} -!3295 = distinct !{!3295, !3296, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE256_clEv: %agg.result"} -!3296 = distinct !{!3296, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE256_clEv"} -!3297 = distinct !{!3297, !103} -!3298 = distinct !{!3298, !103} -!3299 = !{!3300} -!3300 = distinct !{!3300, !3301, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE_clESA_: %agg.result"} -!3301 = distinct !{!3301, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE_clESA_"} -!3302 = !{!3303} -!3303 = distinct !{!3303, !3304, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE308_clEv: %agg.result"} -!3304 = distinct !{!3304, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE308_clEv"} -!3305 = !{!3306} -!3306 = distinct !{!3306, !3307, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!3307 = distinct !{!3307, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} -!3308 = !{!3309} -!3309 = distinct !{!3309, !3310, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!3310 = distinct !{!3310, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!3311 = distinct !{!3311, !103} -!3312 = !{!3313, !129, i64 0} -!3313 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE3ELNS4_9decoratedE1EEE", !129, i64 0} -!3314 = distinct !{!3314, !103} -!3315 = distinct !{!3315, !103} -!3316 = !{!3317} -!3317 = distinct !{!3317, !3318, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!3318 = distinct !{!3318, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!3319 = !{!3320} -!3320 = distinct !{!3320, !3321, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE415_clEv: %agg.result"} -!3321 = distinct !{!3321, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE415_clEv"} -!3322 = !{!3323} -!3323 = distinct !{!3323, !3324, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE309_clEv: %agg.result"} -!3324 = distinct !{!3324, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE309_clEv"} -!3325 = !{!3326} -!3326 = distinct !{!3326, !3327, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} -!3327 = distinct !{!3327, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} -!3328 = !{!3329} -!3329 = distinct !{!3329, !3330, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE331_clEv: %agg.result"} -!3330 = distinct !{!3330, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE331_clEv"} -!3331 = !{i32 10787017} -!3332 = !{!3333} -!3333 = distinct !{!3333, !3334, !"_Z15__invoke_asinpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!3334 = distinct !{!3334, !"_Z15__invoke_asinpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!3335 = distinct !{!3335, !103} -!3336 = !{!3337} -!3337 = distinct !{!3337, !3338, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE512_clEv: %agg.result"} -!3338 = distinct !{!3338, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE512_clEv"} -!3339 = !{!3340, !129, i64 0} -!3340 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!3341 = !{!3342} -!3342 = distinct !{!3342, !3343, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE278_clEv: %agg.result"} -!3343 = distinct !{!3343, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE278_clEv"} -!3344 = !{!3345} -!3345 = distinct !{!3345, !3346, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE168_clEv: %agg.result"} -!3346 = distinct !{!3346, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE168_clEv"} -!3347 = !{!3348, !129, i64 0} -!3348 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm17EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!3349 = !{!3350, !129, i64 24} -!3350 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayIiLm17EEELi1ELNS0_6access4modeE1026ELNS4_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!3351 = !{!3352} -!3352 = distinct !{!3352, !3353, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE797_clEv: %agg.result"} -!3353 = distinct !{!3353, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE797_clEv"} -!3354 = !{!3355} -!3355 = distinct !{!3355, !3356, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} -!3356 = distinct !{!3356, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} -!3357 = !{!3358} -!3358 = distinct !{!3358, !3359, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE49_clEv: %agg.result"} -!3359 = distinct !{!3359, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE49_clEv"} -!3360 = !{!3361} -!3361 = distinct !{!3361, !3362, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3362 = distinct !{!3362, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3363 = !{!3364} -!3364 = distinct !{!3364, !3365, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE746_clEv: %agg.result"} -!3365 = distinct !{!3365, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE746_clEv"} -!3366 = !{!2518, !129, i64 8} -!3367 = !{!3368} -!3368 = distinct !{!3368, !3369, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!3369 = distinct !{!3369, !"_Z12__invoke_madIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_S6_ET_T0_T1_T2_"} -!3370 = !{!3371} -!3371 = distinct !{!3371, !3372, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_: %agg.result"} -!3372 = distinct !{!3372, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESI_"} -!3373 = distinct !{!3373, !103} -!3374 = distinct !{!3374, !103} -!3375 = !{i32 12004936} -!3376 = !{!3377} -!3377 = distinct !{!3377, !3378, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE597_clEv: %agg.result"} -!3378 = distinct !{!3378, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE597_clEv"} -!3379 = !{!3380} -!3380 = distinct !{!3380, !3381, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE155_clEv: %agg.result"} -!3381 = distinct !{!3381, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE155_clEv"} -!3382 = !{!3383} -!3383 = distinct !{!3383, !3384, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!3384 = distinct !{!3384, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!3385 = !{!3386} -!3386 = distinct !{!3386, !3387, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE385_clEv: %agg.result"} -!3387 = distinct !{!3387, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE385_clEv"} -!3388 = distinct !{!3388, !103} -!3389 = !{!3390} -!3390 = distinct !{!3390, !3391, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!3391 = distinct !{!3391, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!3392 = !{!3393} -!3393 = distinct !{!3393, !3394, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE761_clEv: %agg.result"} -!3394 = distinct !{!3394, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE761_clEv"} -!3395 = !{!3396} -!3396 = distinct !{!3396, !3397, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3397 = distinct !{!3397, !"_Z15__invoke_acospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3398 = distinct !{!3398, !103} -!3399 = !{!3400} -!3400 = distinct !{!3400, !3401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE772_clEv: %agg.result"} -!3401 = distinct !{!3401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE772_clEv"} -!3402 = !{!3403} -!3403 = distinct !{!3403, !3404, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_: %agg.result"} -!3404 = distinct !{!3404, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_"} -!3405 = !{!3406} -!3406 = distinct !{!3406, !3407, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3407 = distinct !{!3407, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3408 = !{!3409} -!3409 = distinct !{!3409, !3410, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3410 = distinct !{!3410, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3411 = !{!3412} -!3412 = distinct !{!3412, !3413, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE215_clEv: %agg.result"} -!3413 = distinct !{!3413, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE215_clEv"} -!3414 = !{!3415} -!3415 = distinct !{!3415, !3416, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE662_clEv: %agg.result"} -!3416 = distinct !{!3416, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE662_clEv"} -!3417 = !{!3418, !129, i64 0} -!3418 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!3419 = !{!3420} -!3420 = distinct !{!3420, !3421, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE3_clESD_: %agg.result"} -!3421 = distinct !{!3421, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE3_clESD_"} -!3422 = !{!3423} -!3423 = distinct !{!3423, !3424, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE188_clEv: %agg.result"} -!3424 = distinct !{!3424, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE188_clEv"} -!3425 = !{i32 10814395} -!3426 = !{!3427} -!3427 = distinct !{!3427, !3428, !"_Z13__invoke_sinhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!3428 = distinct !{!3428, !"_Z13__invoke_sinhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!3429 = distinct !{!3429, !103} -!3430 = !{!3431} -!3431 = distinct !{!3431, !3432, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE582_clEv: %agg.result"} -!3432 = distinct !{!3432, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE582_clEv"} -!3433 = distinct !{!3433, !103} -!3434 = !{!3435} -!3435 = distinct !{!3435, !3436, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE393_clEv: %agg.result"} -!3436 = distinct !{!3436, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE393_clEv"} -!3437 = !{!3438} -!3438 = distinct !{!3438, !3439, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE621_clEv: %agg.result"} -!3439 = distinct !{!3439, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE621_clEv"} -!3440 = !{!3441, !129, i64 0} -!3441 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE1ELNS2_9decoratedE0EEE", !129, i64 0} -!3442 = distinct !{!3442, !103} -!3443 = !{i32 12919391} -!3444 = !{!3445} -!3445 = distinct !{!3445, !3446, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3446 = distinct !{!3446, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3447 = !{i32 5940986} -!3448 = !{!3449} -!3449 = distinct !{!3449, !3450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE418_clEv: %agg.result"} -!3450 = distinct !{!3450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE418_clEv"} -!3451 = !{i32 10788139} -!3452 = !{!3453} -!3453 = distinct !{!3453, !3454, !"_Z15__invoke_atanpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!3454 = distinct !{!3454, !"_Z15__invoke_atanpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!3455 = distinct !{!3455, !103} -!3456 = !{!3457} -!3457 = distinct !{!3457, !3458, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE577_clEv: %agg.result"} -!3458 = distinct !{!3458, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE577_clEv"} -!3459 = !{!3460, !129, i64 0} -!3460 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm4EEELNS0_6access13address_spaceE0ELNS7_9decoratedE1EEE", !129, i64 0} -!3461 = distinct !{!3461, !103} -!3462 = !{!3463, !129, i64 0} -!3463 = !{!"_ZTSN4sycl3_V19multi_ptrIiLNS0_6access13address_spaceE0ELNS2_9decoratedE1EEE", !129, i64 0} -!3464 = distinct !{!3464, !103} -!3465 = !{!3466} -!3466 = distinct !{!3466, !3467, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!3467 = distinct !{!3467, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!3468 = distinct !{!3468, !103} -!3469 = !{!3470, !129, i64 0} -!3470 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi3EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!3471 = !{!3470, !129, i64 8} -!3472 = !{!3470, !129, i64 16} -!3473 = !{!3474} -!3474 = distinct !{!3474, !3475, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_: %agg.result"} -!3475 = distinct !{!3475, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_"} -!3476 = distinct !{!3476, !103} -!3477 = distinct !{!3477, !103} -!3478 = !{!3479} -!3479 = distinct !{!3479, !3480, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} -!3480 = distinct !{!3480, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm2EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} -!3481 = !{!3482} -!3482 = distinct !{!3482, !3483, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE303_clEv: %agg.result"} -!3483 = distinct !{!3483, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE303_clEv"} -!3484 = !{!3485} -!3485 = distinct !{!3485, !3486, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3486 = distinct !{!3486, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3487 = !{!3488} -!3488 = distinct !{!3488, !3489, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE532_clEv: %agg.result"} -!3489 = distinct !{!3489, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE532_clEv"} -!3490 = !{!3491} -!3491 = distinct !{!3491, !3492, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE424_clEv: %agg.result"} -!3492 = distinct !{!3492, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE424_clEv"} -!3493 = !{!3494} -!3494 = distinct !{!3494, !3495, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3495 = distinct !{!3495, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3496 = !{!3497} -!3497 = distinct !{!3497, !3498, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE667_clEv: %agg.result"} -!3498 = distinct !{!3498, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE667_clEv"} -!3499 = !{!3500} -!3500 = distinct !{!3500, !3501, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!3501 = distinct !{!3501, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!3502 = !{!3503} -!3503 = distinct !{!3503, !3504, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!3504 = distinct !{!3504, !"_Z15__invoke_maxmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!3505 = distinct !{!3505, !103} -!3506 = distinct !{!3506, !103} -!3507 = !{!3508} -!3508 = distinct !{!3508, !3509, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3509 = distinct !{!3509, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3510 = !{!3511} -!3511 = distinct !{!3511, !3512, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!3512 = distinct !{!3512, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} -!3513 = !{!3514} -!3514 = distinct !{!3514, !3515, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_: %agg.result"} -!3515 = distinct !{!3515, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_"} -!3516 = distinct !{!3516, !103} -!3517 = !{!3518} -!3518 = distinct !{!3518, !3519, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE416_clEv: %agg.result"} -!3519 = distinct !{!3519, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE416_clEv"} -!3520 = !{!3521} -!3521 = distinct !{!3521, !3522, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} -!3522 = distinct !{!3522, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} -!3523 = !{!3524} -!3524 = distinct !{!3524, !3525, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE3_clEv: %agg.result"} -!3525 = distinct !{!3525, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE3_clEv"} -!3526 = !{!3527} -!3527 = distinct !{!3527, !3528, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} -!3528 = distinct !{!3528, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} -!3529 = !{!3530} -!3530 = distinct !{!3530, !3531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE246_clEv: %agg.result"} -!3531 = distinct !{!3531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE246_clEv"} -!3532 = !{!3533} -!3533 = distinct !{!3533, !3534, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE224_clEv: %agg.result"} -!3534 = distinct !{!3534, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE224_clEv"} -!3535 = !{!3536} -!3536 = distinct !{!3536, !3537, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE1_clESA_: %agg.result"} -!3537 = distinct !{!3537, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE1_clESA_"} -!3538 = distinct !{!3538, !103} -!3539 = !{!3540} -!3540 = distinct !{!3540, !3541, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE0_clESD_: %agg.result"} -!3541 = distinct !{!3541, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE0_clESD_"} -!3542 = !{!3543} -!3543 = distinct !{!3543, !3544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE24_clEv: %agg.result"} -!3544 = distinct !{!3544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE24_clEv"} -!3545 = !{!3546} -!3546 = distinct !{!3546, !3547, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE762_clEv: %agg.result"} -!3547 = distinct !{!3547, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE762_clEv"} -!3548 = !{!3549} -!3549 = distinct !{!3549, !3550, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE552_clEv: %agg.result"} -!3550 = distinct !{!3550, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE552_clEv"} -!3551 = !{!1427, !129, i64 8} -!3552 = !{!3553} -!3553 = distinct !{!3553, !3554, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE685_clEv: %agg.result"} -!3554 = distinct !{!3554, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE685_clEv"} -!3555 = !{!3556} -!3556 = distinct !{!3556, !3557, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE37_clEv: %agg.result"} -!3557 = distinct !{!3557, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE37_clEv"} -!3558 = !{i32 10883960} -!3559 = !{!3560} -!3560 = distinct !{!3560, !3561, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3561 = distinct !{!3561, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3562 = distinct !{!3562, !103} -!3563 = !{!3564} -!3564 = distinct !{!3564, !3565, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE342_clEv: %agg.result"} -!3565 = distinct !{!3565, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE342_clEv"} -!3566 = !{!3567} -!3567 = distinct !{!3567, !3568, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE228_clEv: %agg.result"} -!3568 = distinct !{!3568, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE228_clEv"} -!3569 = !{!3570} -!3570 = distinct !{!3570, !3571, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!3571 = distinct !{!3571, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!3572 = distinct !{!3572, !103} -!3573 = !{!572, !129, i64 8} -!3574 = !{!572, !129, i64 16} -!3575 = !{!572, !129, i64 24} -!3576 = distinct !{!3576, !103} -!3577 = !{!3578} -!3578 = distinct !{!3578, !3579, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE105_clEv: %agg.result"} -!3579 = distinct !{!3579, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE105_clEv"} -!3580 = !{!3581} -!3581 = distinct !{!3581, !3582, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE160_clEv: %agg.result"} -!3582 = distinct !{!3582, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE160_clEv"} -!3583 = !{!3584} -!3584 = distinct !{!3584, !3585, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!3585 = distinct !{!3585, !"_Z14__invoke_floorIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!3586 = !{!3587} -!3587 = distinct !{!3587, !3588, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE326_clEv: %agg.result"} -!3588 = distinct !{!3588, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE326_clEv"} -!3589 = !{!3590} -!3590 = distinct !{!3590, !3591, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} -!3591 = distinct !{!3591, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm4EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} -!3592 = !{!3593, !129, i64 0} -!3593 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!3594 = !{!3593, !129, i64 8} -!3595 = !{!3596} -!3596 = distinct !{!3596, !3597, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE195_clEv: %agg.result"} -!3597 = distinct !{!3597, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE195_clEv"} -!3598 = !{!3599} -!3599 = distinct !{!3599, !3600, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!3600 = distinct !{!3600, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!3601 = !{!3602} -!3602 = distinct !{!3602, !3603, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE4_clESA_: %agg.result"} -!3603 = distinct !{!3603, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE4_clESA_"} -!3604 = !{!3605, !129, i64 0} -!3605 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm2EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!3606 = !{!3607} -!3607 = distinct !{!3607, !3608, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_T2_: %agg.result"} -!3608 = distinct !{!3608, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_T2_"} -!3609 = !{!3610} -!3610 = distinct !{!3610, !3611, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE23_clEv: %agg.result"} -!3611 = distinct !{!3611, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE23_clEv"} -!3612 = !{!3613} -!3613 = distinct !{!3613, !3614, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE734_clEv: %agg.result"} -!3614 = distinct !{!3614, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE734_clEv"} -!3615 = !{!3616} -!3616 = distinct !{!3616, !3617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE294_clEv: %agg.result"} -!3617 = distinct !{!3617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE294_clEv"} -!3618 = !{!3619} -!3619 = distinct !{!3619, !3620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE185_clEv: %agg.result"} -!3620 = distinct !{!3620, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE185_clEv"} -!3621 = !{!3622, !129, i64 24} -!3622 = !{!"_ZTSN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EEE", !314, i64 0, !129, i64 24} -!3623 = !{!3624, !129, i64 0} -!3624 = !{!"_ZTSZN4sycl3_V119local_accessor_baseINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_11placeholderE0EE6__initEPU3AS3S6_NS0_5rangeILi1EEESE_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8} -!3625 = !{!3626} -!3626 = distinct !{!3626, !3627, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE483_clEv: %agg.result"} -!3627 = distinct !{!3627, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE483_clEv"} -!3628 = !{!3629} -!3629 = distinct !{!3629, !3630, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!3630 = distinct !{!3630, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!3631 = !{!3632} -!3632 = distinct !{!3632, !3633, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE634_clEv: %agg.result"} -!3633 = distinct !{!3633, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE634_clEv"} -!3634 = distinct !{!3634, !103} -!3635 = !{!3636} -!3636 = distinct !{!3636, !3637, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!3637 = distinct !{!3637, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!3638 = !{i32 6670757} -!3639 = distinct !{!3639, !103} -!3640 = !{!3641} -!3641 = distinct !{!3641, !3642, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE31_clEv: %agg.result"} -!3642 = distinct !{!3642, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE31_clEv"} -!3643 = !{!3644, !129, i64 0} -!3644 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm3EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} -!3645 = distinct !{!3645, !103} -!3646 = !{!3647} -!3647 = distinct !{!3647, !3648, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE497_clEv: %agg.result"} -!3648 = distinct !{!3648, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE497_clEv"} -!3649 = !{!3650} -!3650 = distinct !{!3650, !3651, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE817_clEv: %agg.result"} -!3651 = distinct !{!3651, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE817_clEv"} -!3652 = !{!3653} -!3653 = distinct !{!3653, !3654, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE697_clEv: %agg.result"} -!3654 = distinct !{!3654, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE697_clEv"} -!3655 = distinct !{!3655, !103} -!3656 = distinct !{!3656, !103} -!3657 = !{!3658} -!3658 = distinct !{!3658, !3659, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!3659 = distinct !{!3659, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} -!3660 = !{!3661} -!3661 = distinct !{!3661, !3662, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE13_clEv: %agg.result"} -!3662 = distinct !{!3662, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE13_clEv"} -!3663 = !{!3664} -!3664 = distinct !{!3664, !3665, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE682_clEv: %agg.result"} -!3665 = distinct !{!3665, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE682_clEv"} -!3666 = !{!3667} -!3667 = distinct !{!3667, !3668, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE760_clEv: %agg.result"} -!3668 = distinct !{!3668, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE760_clEv"} -!3669 = !{!3670} -!3670 = distinct !{!3670, !3671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} -!3671 = distinct !{!3671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} -!3672 = distinct !{!3672, !103} -!3673 = !{!3674} -!3674 = distinct !{!3674, !3675, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!3675 = distinct !{!3675, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!3676 = distinct !{!3676, !103} -!3677 = !{!3678} -!3678 = distinct !{!3678, !3679, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE372_clEv: %agg.result"} -!3679 = distinct !{!3679, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE372_clEv"} -!3680 = !{!3681, !129, i64 0} -!3681 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE1ELNS4_9decoratedE1EEE", !129, i64 0} -!3682 = !{!3683} -!3683 = distinct !{!3683, !3684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE430_clEv: %agg.result"} -!3684 = distinct !{!3684, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE430_clEv"} -!3685 = !{!3686} -!3686 = distinct !{!3686, !3687, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE656_clEv: %agg.result"} -!3687 = distinct !{!3687, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE656_clEv"} -!3688 = !{!3689} -!3689 = distinct !{!3689, !3690, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!3690 = distinct !{!3690, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_S6_ET_T0_T1_T2_"} -!3691 = !{!3692} -!3692 = distinct !{!3692, !3693, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE50_clEv: %agg.result"} -!3693 = distinct !{!3693, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE50_clEv"} -!3694 = !{!2799, !129, i64 8} -!3695 = !{!3696} -!3696 = distinct !{!3696, !3697, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!3697 = distinct !{!3697, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!3698 = !{!3699} -!3699 = distinct !{!3699, !3700, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE2_clES8_: %agg.result"} -!3700 = distinct !{!3700, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE2_clES8_"} -!3701 = !{!647, !129, i64 8} -!3702 = !{!647, !129, i64 16} -!3703 = !{!647, !129, i64 24} -!3704 = !{!3705} -!3705 = distinct !{!3705, !3706, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3706 = distinct !{!3706, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3707 = !{!3077, !129, i64 8} -!3708 = !{!3709} -!3709 = distinct !{!3709, !3710, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE55_clEv: %agg.result"} -!3710 = distinct !{!3710, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE55_clEv"} -!3711 = !{!3211, !129, i64 8} -!3712 = distinct !{!3712, !103} -!3713 = !{!3714} -!3714 = distinct !{!3714, !3715, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE2_clESD_: %agg.result"} -!3715 = distinct !{!3715, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE2_clESD_"} -!3716 = distinct !{!3716, !103} -!3717 = !{!3718, !129, i64 0} -!3718 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE3ELNS7_9decoratedE1EEE", !129, i64 0} -!3719 = !{!3720} -!3720 = distinct !{!3720, !3721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE361_clEv: %agg.result"} -!3721 = distinct !{!3721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE361_clEv"} -!3722 = !{!3723, !129, i64 0} -!3723 = !{!"_ZTSZNK4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!3724 = !{!3725} -!3725 = distinct !{!3725, !3726, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE109_clEv: %agg.result"} -!3726 = distinct !{!3726, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE109_clEv"} -!3727 = !{!1816, !129, i64 8} -!3728 = !{!3729} -!3729 = distinct !{!3729, !3730, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE612_clEv: %agg.result"} -!3730 = distinct !{!3730, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE612_clEv"} -!3731 = distinct !{!3731, !103} -!3732 = !{!3733} -!3733 = distinct !{!3733, !3734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE159_clEv: %agg.result"} -!3734 = distinct !{!3734, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE159_clEv"} -!3735 = !{!3348, !129, i64 8} -!3736 = !{!3348, !129, i64 16} -!3737 = !{!3348, !129, i64 24} -!3738 = distinct !{!3738, !103} -!3739 = distinct !{!3739, !103} -!3740 = !{!3741} -!3741 = distinct !{!3741, !3742, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_: %agg.result"} -!3742 = distinct !{!3742, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_NS2_IiLi2EEEET_T0_T1_"} -!3743 = distinct !{!3743, !103} -!3744 = !{!3745} -!3745 = distinct !{!3745, !3746, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE36_clEv: %agg.result"} -!3746 = distinct !{!3746, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE36_clEv"} -!3747 = !{!1976, !129, i64 8} -!3748 = !{!1976, !129, i64 16} -!3749 = !{!1976, !129, i64 24} -!3750 = !{!3751} -!3751 = distinct !{!3751, !3752, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!3752 = distinct !{!3752, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!3753 = distinct !{!3753, !103} -!3754 = !{!3755} -!3755 = distinct !{!3755, !3756, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE61_clEv: %agg.result"} -!3756 = distinct !{!3756, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE61_clEv"} -!3757 = !{!3758} -!3758 = distinct !{!3758, !3759, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!3759 = distinct !{!3759, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!3760 = distinct !{!3760, !103} -!3761 = !{!3762} -!3762 = distinct !{!3762, !3763, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESJ_: %agg.result"} -!3763 = distinct !{!3763, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESJ_"} -!3764 = !{!3765} -!3765 = distinct !{!3765, !3766, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE12_clEv: %agg.result"} -!3766 = distinct !{!3766, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE12_clEv"} -!3767 = !{!3768} -!3768 = distinct !{!3768, !3769, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE4_clESD_: %agg.result"} -!3769 = distinct !{!3769, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE4_clESD_"} -!3770 = !{i32 10803666} -!3771 = !{!3772} -!3772 = distinct !{!3772, !3773, !"_Z15__invoke_maxmagIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!3773 = distinct !{!3773, !"_Z15__invoke_maxmagIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!3774 = distinct !{!3774, !103} -!3775 = !{i32 516001} -!3776 = !{!3777} -!3777 = distinct !{!3777, !3778, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE780_clEv: %agg.result"} -!3778 = distinct !{!3778, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE780_clEv"} -!3779 = !{!3780, !129, i64 0} -!3780 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm4EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEE", !129, i64 0} -!3781 = !{!3782} -!3782 = distinct !{!3782, !3783, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!3783 = distinct !{!3783, !"_Z13__invoke_powrIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!3784 = distinct !{!3784, !103} -!3785 = !{!3786} -!3786 = distinct !{!3786, !3787, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE116_clEv: %agg.result"} -!3787 = distinct !{!3787, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE116_clEv"} -!3788 = !{!3789} -!3789 = distinct !{!3789, !3790, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!3790 = distinct !{!3790, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!3791 = !{!3792} -!3792 = distinct !{!3792, !3793, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE_clESD_: %agg.result"} -!3793 = distinct !{!3793, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE_clESD_"} -!3794 = !{!3795} -!3795 = distinct !{!3795, !3796, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE128_clEv: %agg.result"} -!3796 = distinct !{!3796, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE128_clEv"} -!3797 = !{!3798} -!3798 = distinct !{!3798, !3799, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE286_clEv: %agg.result"} -!3799 = distinct !{!3799, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE286_clEv"} -!3800 = distinct !{!3800, !103} -!3801 = !{!3624, !129, i64 8} -!3802 = !{!3803} -!3803 = distinct !{!3803, !3804, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE285_clEv: %agg.result"} -!3804 = distinct !{!3804, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE285_clEv"} -!3805 = !{!3806} -!3806 = distinct !{!3806, !3807, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE68_clEv: %agg.result"} -!3807 = distinct !{!3807, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE68_clEv"} -!3808 = !{!3809} -!3809 = distinct !{!3809, !3810, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE72_clEv: %agg.result"} -!3810 = distinct !{!3810, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE72_clEv"} -!3811 = !{!3812} -!3812 = distinct !{!3812, !3813, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE539_clEv: %agg.result"} -!3813 = distinct !{!3813, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE539_clEv"} -!3814 = distinct !{!3814, !103} -!3815 = !{!3816, !129, i64 0} -!3816 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm5EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!3817 = !{!3818, !129, i64 0} -!3818 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm2EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!3819 = distinct !{!3819, !103} -!3820 = distinct !{!3820, !103} -!3821 = !{!3822} -!3822 = distinct !{!3822, !3823, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE495_clEv: %agg.result"} -!3823 = distinct !{!3823, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE495_clEv"} -!3824 = !{!3825} -!3825 = distinct !{!3825, !3826, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3826 = distinct !{!3826, !"_Z14__invoke_tanpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3827 = distinct !{!3827, !103} -!3828 = distinct !{!3828, !103} -!3829 = !{!3830} -!3830 = distinct !{!3830, !3831, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} -!3831 = distinct !{!3831, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} -!3832 = !{i32 6671109} -!3833 = !{!3834} -!3834 = distinct !{!3834, !3835, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE545_clEv: %agg.result"} -!3835 = distinct !{!3835, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE545_clEv"} -!3836 = !{!3837} -!3837 = distinct !{!3837, !3838, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!3838 = distinct !{!3838, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!3839 = !{!3840} -!3840 = distinct !{!3840, !3841, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE6_clEv: %agg.result"} -!3841 = distinct !{!3841, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE6_clEv"} -!3842 = !{!3843} -!3843 = distinct !{!3843, !3844, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE583_clEv: %agg.result"} -!3844 = distinct !{!3844, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE583_clEv"} -!3845 = !{!3846} -!3846 = distinct !{!3846, !3847, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE434_clEv: %agg.result"} -!3847 = distinct !{!3847, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE434_clEv"} -!3848 = !{!3849} -!3849 = distinct !{!3849, !3850, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE19_clEv: %agg.result"} -!3850 = distinct !{!3850, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE19_clEv"} -!3851 = distinct !{!3851, !103} -!3852 = !{i32 -2140805424} -!3853 = !{!3854} -!3854 = distinct !{!3854, !3855, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE805_clEv: %agg.result"} -!3855 = distinct !{!3855, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE805_clEv"} -!3856 = !{!3857} -!3857 = distinct !{!3857, !3858, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE130_clEv: %agg.result"} -!3858 = distinct !{!3858, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE130_clEv"} -!3859 = !{!3860} -!3860 = distinct !{!3860, !3861, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!3861 = distinct !{!3861, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!3862 = !{!3863} -!3863 = distinct !{!3863, !3864, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE112_clEv: %agg.result"} -!3864 = distinct !{!3864, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE112_clEv"} -!3865 = !{!3866} -!3866 = distinct !{!3866, !3867, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE788_clEv: %agg.result"} -!3867 = distinct !{!3867, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE788_clEv"} -!3868 = !{!3869, !129, i64 0} -!3869 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!3870 = !{!3869, !129, i64 8} -!3871 = !{!3869, !129, i64 16} -!3872 = !{!3873} -!3873 = distinct !{!3873, !3874, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE759_clEv: %agg.result"} -!3874 = distinct !{!3874, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE759_clEv"} -!3875 = !{!3876} -!3876 = distinct !{!3876, !3877, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE755_clEv: %agg.result"} -!3877 = distinct !{!3877, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE755_clEv"} -!3878 = !{!3879, !129, i64 0} -!3879 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm2EEELNS0_6access13address_spaceE3ELNS7_9decoratedE0EEE", !129, i64 0} -!3880 = distinct !{!3880, !103} -!3881 = !{!3882} -!3882 = distinct !{!3882, !3883, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE4_clESD_: %agg.result"} -!3883 = distinct !{!3883, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE4_clESD_"} -!3884 = !{!3885} -!3885 = distinct !{!3885, !3886, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE481_clEv: %agg.result"} -!3886 = distinct !{!3886, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE481_clEv"} -!3887 = !{!3888} -!3888 = distinct !{!3888, !3889, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE1_clESD_: %agg.result"} -!3889 = distinct !{!3889, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1EEEE1_clESD_"} -!3890 = !{i32 6672683} -!3891 = !{!3892} -!3892 = distinct !{!3892, !3893, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3893 = distinct !{!3893, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3894 = !{!3895} -!3895 = distinct !{!3895, !3896, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!3896 = distinct !{!3896, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!3897 = !{!3898} -!3898 = distinct !{!3898, !3899, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} -!3899 = distinct !{!3899, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} -!3900 = !{!3901} -!3901 = distinct !{!3901, !3902, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE572_clEv: %agg.result"} -!3902 = distinct !{!3902, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE572_clEv"} -!3903 = !{!3904} -!3904 = distinct !{!3904, !3905, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!3905 = distinct !{!3905, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} -!3906 = !{!3907} -!3907 = distinct !{!3907, !3908, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE687_clEv: %agg.result"} -!3908 = distinct !{!3908, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE687_clEv"} -!3909 = !{!3910} -!3910 = distinct !{!3910, !3911, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE469_clEv: %agg.result"} -!3911 = distinct !{!3911, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE469_clEv"} -!3912 = !{!3913} -!3913 = distinct !{!3913, !3914, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE207_clEv: %agg.result"} -!3914 = distinct !{!3914, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE207_clEv"} -!3915 = !{!3916} -!3916 = distinct !{!3916, !3917, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE1_clEv: %agg.result"} -!3917 = distinct !{!3917, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE1_clEv"} -!3918 = !{!3919} -!3919 = distinct !{!3919, !3920, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE368_clEv: %agg.result"} -!3920 = distinct !{!3920, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE368_clEv"} -!3921 = !{!3922} -!3922 = distinct !{!3922, !3923, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE2_clESA_: %agg.result"} -!3923 = distinct !{!3923, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE2_clESA_"} -!3924 = distinct !{!3924, !103} -!3925 = !{!3926, !129, i64 0} -!3926 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayINS0_6detail9half_impl4halfELm5EEELNS0_6access13address_spaceE0ELNS7_9decoratedE0EEE", !129, i64 0} -!3927 = !{!373, !129, i64 8} -!3928 = !{!3929} -!3929 = distinct !{!3929, !3930, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!3930 = distinct !{!3930, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!3931 = !{!3932} -!3932 = distinct !{!3932, !3933, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3933 = distinct !{!3933, !"_Z13__invoke_cbrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3934 = !{!3935, !129, i64 0} -!3935 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!3936 = !{!3935, !129, i64 8} -!3937 = !{!3935, !129, i64 16} -!3938 = !{!3939} -!3939 = distinct !{!3939, !3940, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE219_clEv: %agg.result"} -!3940 = distinct !{!3940, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE219_clEv"} -!3941 = !{!3942} -!3942 = distinct !{!3942, !3943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE28_clEv: %agg.result"} -!3943 = distinct !{!3943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE28_clEv"} -!3944 = !{!3945, !129, i64 0} -!3945 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm3EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} -!3946 = !{!3947} -!3947 = distinct !{!3947, !3948, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_: %agg.result"} -!3948 = distinct !{!3948, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESI_"} -!3949 = !{!3950} -!3950 = distinct !{!3950, !3951, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!3951 = distinct !{!3951, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!3952 = !{i32 10815143} -!3953 = !{!3954} -!3954 = distinct !{!3954, !3955, !"_Z13__invoke_sqrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!3955 = distinct !{!3955, !"_Z13__invoke_sqrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!3956 = !{!3957} -!3957 = distinct !{!3957, !3958, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!3958 = distinct !{!3958, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!3959 = !{!3960} -!3960 = distinct !{!3960, !3961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE629_clEv: %agg.result"} -!3961 = distinct !{!3961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE629_clEv"} -!3962 = !{!3963} -!3963 = distinct !{!3963, !3964, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE710_clEv: %agg.result"} -!3964 = distinct !{!3964, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE710_clEv"} -!3965 = !{!3966} -!3966 = distinct !{!3966, !3967, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE398_clEv: %agg.result"} -!3967 = distinct !{!3967, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE398_clEv"} -!3968 = distinct !{!3968, !103} -!3969 = !{!3970, !129, i64 0} -!3970 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm4EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!3971 = !{!3970, !129, i64 8} -!3972 = !{!3970, !129, i64 16} -!3973 = !{!3970, !129, i64 24} -!3974 = !{!1002, !129, i64 8} -!3975 = !{!3976} -!3976 = distinct !{!3976, !3977, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!3977 = distinct !{!3977, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!3978 = !{i32 6846138} -!3979 = !{!3980} -!3980 = distinct !{!3980, !3981, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE387_clEv: %agg.result"} -!3981 = distinct !{!3981, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE387_clEv"} -!3982 = !{!3983} -!3983 = distinct !{!3983, !3984, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE672_clEv: %agg.result"} -!3984 = distinct !{!3984, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE672_clEv"} -!3985 = distinct !{!3985, !103} -!3986 = !{!3987} -!3987 = distinct !{!3987, !3988, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE34_clEv: %agg.result"} -!3988 = distinct !{!3988, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE34_clEv"} -!3989 = !{!3990} -!3990 = distinct !{!3990, !3991, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE220_clEv: %agg.result"} -!3991 = distinct !{!3991, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE220_clEv"} -!3992 = !{!3993} -!3993 = distinct !{!3993, !3994, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!3994 = distinct !{!3994, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!3995 = !{!3996} -!3996 = distinct !{!3996, !3997, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE536_clEv: %agg.result"} -!3997 = distinct !{!3997, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE536_clEv"} -!3998 = distinct !{!3998, !103} -!3999 = !{!4000} -!4000 = distinct !{!4000, !4001, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE816_clEv: %agg.result"} -!4001 = distinct !{!4001, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE816_clEv"} -!4002 = !{!4003} -!4003 = distinct !{!4003, !4004, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4004 = distinct !{!4004, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4005 = !{!4006} -!4006 = distinct !{!4006, !4007, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} -!4007 = distinct !{!4007, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} -!4008 = !{!4009} -!4009 = distinct !{!4009, !4010, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE163_clEv: %agg.result"} -!4010 = distinct !{!4010, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE163_clEv"} -!4011 = !{!4012} -!4012 = distinct !{!4012, !4013, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE446_clEv: %agg.result"} -!4013 = distinct !{!4013, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE446_clEv"} -!4014 = !{!4015} -!4015 = distinct !{!4015, !4016, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE484_clEv: %agg.result"} -!4016 = distinct !{!4016, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE484_clEv"} -!4017 = !{!4018} -!4018 = distinct !{!4018, !4019, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE741_clEv: %agg.result"} -!4019 = distinct !{!4019, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE741_clEv"} -!4020 = !{!4021} -!4021 = distinct !{!4021, !4022, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} -!4022 = distinct !{!4022, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} -!4023 = !{!4024} -!4024 = distinct !{!4024, !4025, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE445_clEv: %agg.result"} -!4025 = distinct !{!4025, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE445_clEv"} -!4026 = distinct !{!4026, !103} -!4027 = !{!4028} -!4028 = distinct !{!4028, !4029, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4029 = distinct !{!4029, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4030 = !{!4031} -!4031 = distinct !{!4031, !4032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE241_clEv: %agg.result"} -!4032 = distinct !{!4032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE241_clEv"} -!4033 = !{!4034} -!4034 = distinct !{!4034, !4035, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4035 = distinct !{!4035, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4036 = !{!4037} -!4037 = distinct !{!4037, !4038, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE289_clEv: %agg.result"} -!4038 = distinct !{!4038, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE289_clEv"} -!4039 = !{i32 10793234} -!4040 = !{!4041} -!4041 = distinct !{!4041, !4042, !"_Z13__invoke_fabsIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!4042 = distinct !{!4042, !"_Z13__invoke_fabsIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!4043 = !{!4044} -!4044 = distinct !{!4044, !4045, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE131_clEv: %agg.result"} -!4045 = distinct !{!4045, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE131_clEv"} -!4046 = !{!4047} -!4047 = distinct !{!4047, !4048, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!4048 = distinct !{!4048, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!4049 = !{!4050} -!4050 = distinct !{!4050, !4051, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESJ_: %agg.result"} -!4051 = distinct !{!4051, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6detail9half_impl4halfELi1ELNS6_6access4modeE1026ELNSB_6targetE2014ELNSB_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESJ_"} -!4052 = !{!4053} -!4053 = distinct !{!4053, !4054, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE125_clEv: %agg.result"} -!4054 = distinct !{!4054, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE125_clEv"} -!4055 = !{i32 -2140798505} -!4056 = !{!4057} -!4057 = distinct !{!4057, !4058, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE60_clEv: %agg.result"} -!4058 = distinct !{!4058, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE60_clEv"} -!4059 = !{!4060} -!4060 = distinct !{!4060, !4061, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE440_clEv: %agg.result"} -!4061 = distinct !{!4061, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE440_clEv"} -!4062 = !{!4063} -!4063 = distinct !{!4063, !4064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE548_clEv: %agg.result"} -!4064 = distinct !{!4064, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE548_clEv"} -!4065 = distinct !{!4065, !103} -!4066 = !{!4067} -!4067 = distinct !{!4067, !4068, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!4068 = distinct !{!4068, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!4069 = distinct !{!4069, !103} -!4070 = !{!4071} -!4071 = distinct !{!4071, !4072, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE337_clEv: %agg.result"} -!4072 = distinct !{!4072, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE337_clEv"} -!4073 = !{!4074} -!4074 = distinct !{!4074, !4075, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE529_clEv: %agg.result"} -!4075 = distinct !{!4075, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE529_clEv"} -!4076 = !{i32 1160987} -!4077 = !{!4078} -!4078 = distinct !{!4078, !4079, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_: %agg.result"} -!4079 = distinct !{!4079, !"_Z14__invoke_ldexpIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_NS2_IiLi16EEEET_T0_T1_"} -!4080 = distinct !{!4080, !103} -!4081 = !{!4082} -!4082 = distinct !{!4082, !4083, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} -!4083 = distinct !{!4083, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm17EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} -!4084 = !{!4085} -!4085 = distinct !{!4085, !4086, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE395_clEv: %agg.result"} -!4086 = distinct !{!4086, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE395_clEv"} -!4087 = distinct !{!4087, !103} -!4088 = !{!4089} -!4089 = distinct !{!4089, !4090, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE737_clEv: %agg.result"} -!4090 = distinct !{!4090, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE737_clEv"} -!4091 = distinct !{!4091, !103} -!4092 = !{!4093} -!4093 = distinct !{!4093, !4094, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_: %agg.result"} -!4094 = distinct !{!4094, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESL_"} -!4095 = !{!4096} -!4096 = distinct !{!4096, !4097, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE782_clEv: %agg.result"} -!4097 = distinct !{!4097, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE782_clEv"} -!4098 = !{!4099} -!4099 = distinct !{!4099, !4100, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE5_clEv: %agg.result"} -!4100 = distinct !{!4100, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE5_clEv"} -!4101 = !{!4102} -!4102 = distinct !{!4102, !4103, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!4103 = distinct !{!4103, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE1ELNS6_9decoratedE0EEEET_T0_T1_"} -!4104 = !{!4105, !129, i64 0} -!4105 = !{!"_ZTSZN4sycl3_V18accessorINS0_3vecINS0_6detail9half_impl4halfELi16EEELi1ELNS0_6access4modeE1025ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S6_NS0_5rangeILi1EEESJ_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!4106 = !{!4107} -!4107 = distinct !{!4107, !4108, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4108 = distinct !{!4108, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4109 = distinct !{!4109, !103} -!4110 = !{!4111} -!4111 = distinct !{!4111, !4112, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4112 = distinct !{!4112, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4113 = !{!4114} -!4114 = distinct !{!4114, !4115, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4115 = distinct !{!4115, !"_Z12__invoke_expIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4116 = distinct !{!4116, !103} -!4117 = distinct !{!4117, !103} -!4118 = !{!4119} -!4119 = distinct !{!4119, !4120, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE242_clEv: %agg.result"} -!4120 = distinct !{!4120, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE242_clEv"} -!4121 = !{!4122} -!4122 = distinct !{!4122, !4123, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE113_clEv: %agg.result"} -!4123 = distinct !{!4123, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE113_clEv"} -!4124 = !{!2998, !129, i64 8} -!4125 = !{!2998, !129, i64 16} -!4126 = !{!2998, !129, i64 24} -!4127 = !{!4128} -!4128 = distinct !{!4128, !4129, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE742_clEv: %agg.result"} -!4129 = distinct !{!4129, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE742_clEv"} -!4130 = distinct !{!4130, !103} -!4131 = !{!4132} -!4132 = distinct !{!4132, !4133, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE441_clEv: %agg.result"} -!4133 = distinct !{!4133, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE441_clEv"} -!4134 = !{!4135} -!4135 = distinct !{!4135, !4136, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE45_clEv: %agg.result"} -!4136 = distinct !{!4136, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE45_clEv"} -!4137 = !{!4138} -!4138 = distinct !{!4138, !4139, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE499_clEv: %agg.result"} -!4139 = distinct !{!4139, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE499_clEv"} -!4140 = distinct !{!4140, !103} -!4141 = !{!4142} -!4142 = distinct !{!4142, !4143, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE627_clEv: %agg.result"} -!4143 = distinct !{!4143, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE627_clEv"} -!4144 = distinct !{!4144, !103} -!4145 = !{!4146} -!4146 = distinct !{!4146, !4147, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!4147 = distinct !{!4147, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!4148 = distinct !{!4148, !103} -!4149 = !{!4150} -!4150 = distinct !{!4150, !4151, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4151 = distinct !{!4151, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4152 = distinct !{!4152, !103} -!4153 = !{!4154} -!4154 = distinct !{!4154, !4155, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!4155 = distinct !{!4155, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!4156 = !{!3276, !129, i64 8} -!4157 = distinct !{!4157, !103} -!4158 = distinct !{!4158, !103} -!4159 = !{!4160} -!4160 = distinct !{!4160, !4161, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE799_clEv: %agg.result"} -!4161 = distinct !{!4161, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE799_clEv"} -!4162 = !{!4163} -!4163 = distinct !{!4163, !4164, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_: %agg.result"} -!4164 = distinct !{!4164, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESI_"} -!4165 = !{!4166, !129, i64 0} -!4166 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm5EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!4167 = !{!4166, !129, i64 8} -!4168 = distinct !{!4168, !103} -!4169 = !{!4170} -!4170 = distinct !{!4170, !4171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE365_clEv: %agg.result"} -!4171 = distinct !{!4171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE365_clEv"} -!4172 = distinct !{!4172, !103} -!4173 = !{!4174} -!4174 = distinct !{!4174, !4175, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE592_clEv: %agg.result"} -!4175 = distinct !{!4175, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE592_clEv"} -!4176 = !{i32 10810496} -!4177 = !{!4178} -!4178 = distinct !{!4178, !4179, !"_Z14__invoke_roundIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!4179 = distinct !{!4179, !"_Z14__invoke_roundIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!4180 = !{!4181} -!4181 = distinct !{!4181, !4182, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!4182 = distinct !{!4182, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!4183 = !{!4184} -!4184 = distinct !{!4184, !4185, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE575_clEv: %agg.result"} -!4185 = distinct !{!4185, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE575_clEv"} -!4186 = !{!4187} -!4187 = distinct !{!4187, !4188, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE524_clEv: %agg.result"} -!4188 = distinct !{!4188, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE524_clEv"} -!4189 = !{!4190} -!4190 = distinct !{!4190, !4191, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE126_clEv: %agg.result"} -!4191 = distinct !{!4191, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE126_clEv"} -!4192 = distinct !{!4192, !103} -!4193 = !{!4194} -!4194 = distinct !{!4194, !4195, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE768_clEv: %agg.result"} -!4195 = distinct !{!4195, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE768_clEv"} -!4196 = distinct !{!4196, !103} -!4197 = !{!4198} -!4198 = distinct !{!4198, !4199, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE412_clEv: %agg.result"} -!4199 = distinct !{!4199, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE412_clEv"} -!4200 = distinct !{!4200, !103} -!4201 = distinct !{!4201, !103} -!4202 = distinct !{!4202, !103} -!4203 = !{!4204, !129, i64 0} -!4204 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6detail9half_impl4halfELi1ELNS0_6access4modeE1025ELNS5_6targetE2014ELNS5_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!4205 = !{!4206} -!4206 = distinct !{!4206, !4207, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!4207 = distinct !{!4207, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!4208 = !{!4209} -!4209 = distinct !{!4209, !4210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE0_clES8_: %agg.result"} -!4210 = distinct !{!4210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE0_clES8_"} -!4211 = !{!4212} -!4212 = distinct !{!4212, !4213, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!4213 = distinct !{!4213, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!4214 = !{!4215} -!4215 = distinct !{!4215, !4216, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE179_clEv: %agg.result"} -!4216 = distinct !{!4216, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE179_clEv"} -!4217 = !{!2263, !129, i64 8} -!4218 = distinct !{!4218, !103} -!4219 = !{!4220} -!4220 = distinct !{!4220, !4221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE544_clEv: %agg.result"} -!4221 = distinct !{!4221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE544_clEv"} -!4222 = !{i32 10798361} -!4223 = !{!4224} -!4224 = distinct !{!4224, !4225, !"_Z14__invoke_hypotIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!4225 = distinct !{!4225, !"_Z14__invoke_hypotIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!4226 = !{!4227} -!4227 = distinct !{!4227, !4228, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE2_clESA_: %agg.result"} -!4228 = distinct !{!4228, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE2_clESA_"} -!4229 = !{i32 10816352} -!4230 = !{!4231} -!4231 = distinct !{!4231, !4232, !"_Z14__invoke_tanpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!4232 = distinct !{!4232, !"_Z14__invoke_tanpiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!4233 = !{!4234} -!4234 = distinct !{!4234, !4235, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE724_clEv: %agg.result"} -!4235 = distinct !{!4235, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE724_clEv"} -!4236 = !{!4237} -!4237 = distinct !{!4237, !4238, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!4238 = distinct !{!4238, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!4239 = !{!4240} -!4240 = distinct !{!4240, !4241, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4241 = distinct !{!4241, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4242 = !{!4243} -!4243 = distinct !{!4243, !4244, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE391_clEv: %agg.result"} -!4244 = distinct !{!4244, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE391_clEv"} -!4245 = !{!4246} -!4246 = distinct !{!4246, !4247, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE0_clESA_: %agg.result"} -!4247 = distinct !{!4247, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE0_clESA_"} -!4248 = !{!3605, !129, i64 8} -!4249 = !{!4250} -!4250 = distinct !{!4250, !4251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE208_clEv: %agg.result"} -!4251 = distinct !{!4251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE208_clEv"} -!4252 = !{!4253} -!4253 = distinct !{!4253, !4254, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4254 = distinct !{!4254, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4255 = !{!4256} -!4256 = distinct !{!4256, !4257, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_S6_ET_T0_T1_T2_: %agg.result"} -!4257 = distinct !{!4257, !"_Z12__invoke_fmaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_S6_ET_T0_T1_T2_"} -!4258 = distinct !{!4258, !103} -!4259 = !{!4260} -!4260 = distinct !{!4260, !4261, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE649_clEv: %agg.result"} -!4261 = distinct !{!4261, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE649_clEv"} -!4262 = !{!4263} -!4263 = distinct !{!4263, !4264, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE553_clEv: %agg.result"} -!4264 = distinct !{!4264, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE553_clEv"} -!4265 = !{!4266} -!4266 = distinct !{!4266, !4267, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE9_clEv: %agg.result"} -!4267 = distinct !{!4267, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE9_clEv"} -!4268 = !{!4269} -!4269 = distinct !{!4269, !4270, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4270 = distinct !{!4270, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4271 = !{!4272} -!4272 = distinct !{!4272, !4273, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_: %agg.result"} -!4273 = distinct !{!4273, !"_Z14__invoke_rootnIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_NS2_IiLi4EEEET_T0_T1_"} -!4274 = !{!4275} -!4275 = distinct !{!4275, !4276, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!4276 = distinct !{!4276, !"_Z16__invoke_atan2piIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!4277 = !{!4278} -!4278 = distinct !{!4278, !4279, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE288_clEv: %agg.result"} -!4279 = distinct !{!4279, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE288_clEv"} -!4280 = !{!4281} -!4281 = distinct !{!4281, !4282, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!4282 = distinct !{!4282, !"_Z18__invoke_nextafterIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!4283 = !{i32 10810982} -!4284 = !{!4285} -!4285 = distinct !{!4285, !4286, !"_Z14__invoke_rsqrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!4286 = distinct !{!4286, !"_Z14__invoke_rsqrtIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!4287 = !{!4288} -!4288 = distinct !{!4288, !4289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE438_clEv: %agg.result"} -!4289 = distinct !{!4289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE438_clEv"} -!4290 = !{!4291} -!4291 = distinct !{!4291, !4292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE2_clESD_: %agg.result"} -!4292 = distinct !{!4292, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE2_clESD_"} -!4293 = distinct !{!4293, !103} -!4294 = !{i32 10816084} -!4295 = !{!4296} -!4296 = distinct !{!4296, !4297, !"_Z13__invoke_tanhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!4297 = distinct !{!4297, !"_Z13__invoke_tanhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!4298 = !{!4299} -!4299 = distinct !{!4299, !4300, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE549_clEv: %agg.result"} -!4300 = distinct !{!4300, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE549_clEv"} -!4301 = !{!4302} -!4302 = distinct !{!4302, !4303, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!4303 = distinct !{!4303, !"_Z12__invoke_tanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!4304 = distinct !{!4304, !103} -!4305 = !{!4306} -!4306 = distinct !{!4306, !4307, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!4307 = distinct !{!4307, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!4308 = !{!4309} -!4309 = distinct !{!4309, !4310, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE588_clEv: %agg.result"} -!4310 = distinct !{!4310, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE588_clEv"} -!4311 = !{!4312} -!4312 = distinct !{!4312, !4313, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4313 = distinct !{!4313, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4314 = !{!4315} -!4315 = distinct !{!4315, !4316, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!4316 = distinct !{!4316, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!4317 = !{!4318} -!4318 = distinct !{!4318, !4319, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE319_clEv: %agg.result"} -!4319 = distinct !{!4319, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE319_clEv"} -!4320 = !{!4321} -!4321 = distinct !{!4321, !4322, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4322 = distinct !{!4322, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4323 = distinct !{!4323, !103} -!4324 = !{!4325} -!4325 = distinct !{!4325, !4326, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE239_clEv: %agg.result"} -!4326 = distinct !{!4326, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE239_clEv"} -!4327 = !{!4328} -!4328 = distinct !{!4328, !4329, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4329 = distinct !{!4329, !"_Z14__invoke_truncIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4330 = distinct !{!4330, !103} -!4331 = !{!4332} -!4332 = distinct !{!4332, !4333, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE297_clEv: %agg.result"} -!4333 = distinct !{!4333, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE297_clEv"} -!4334 = !{!4335} -!4335 = distinct !{!4335, !4336, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE134_clEv: %agg.result"} -!4336 = distinct !{!4336, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE134_clEv"} -!4337 = !{!4338} -!4338 = distinct !{!4338, !4339, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} -!4339 = distinct !{!4339, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} -!4340 = distinct !{!4340, !103} -!4341 = !{!4342} -!4342 = distinct !{!4342, !4343, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4343 = distinct !{!4343, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4344 = distinct !{!4344, !103} -!4345 = !{!4346} -!4346 = distinct !{!4346, !4347, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE164_clEv: %agg.result"} -!4347 = distinct !{!4347, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE164_clEv"} -!4348 = !{!4349} -!4349 = distinct !{!4349, !4350, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE774_clEv: %agg.result"} -!4350 = distinct !{!4350, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE774_clEv"} -!4351 = distinct !{!4351, !103} -!4352 = !{!4353} -!4353 = distinct !{!4353, !4354, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE_clEv: %agg.result"} -!4354 = distinct !{!4354, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE_clEv"} -!4355 = !{!4356} -!4356 = distinct !{!4356, !4357, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!4357 = distinct !{!4357, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!4358 = !{!4359} -!4359 = distinct !{!4359, !4360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE152_clEv: %agg.result"} -!4360 = distinct !{!4360, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE152_clEv"} -!4361 = !{!4362} -!4362 = distinct !{!4362, !4363, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!4363 = distinct !{!4363, !"_Z13__invoke_fminIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!4364 = distinct !{!4364, !103} -!4365 = !{i32 -2140790176} -!4366 = !{!4367} -!4367 = distinct !{!4367, !4368, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE628_clEv: %agg.result"} -!4368 = distinct !{!4368, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE628_clEv"} -!4369 = !{!4370} -!4370 = distinct !{!4370, !4371, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE630_clEv: %agg.result"} -!4371 = distinct !{!4371, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE630_clEv"} -!4372 = !{!4105, !129, i64 8} -!4373 = !{!4105, !129, i64 16} -!4374 = !{!4105, !129, i64 24} -!4375 = !{!4376} -!4376 = distinct !{!4376, !4377, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE111_clEv: %agg.result"} -!4377 = distinct !{!4377, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE111_clEv"} -!4378 = !{!4379} -!4379 = distinct !{!4379, !4380, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE211_clEv: %agg.result"} -!4380 = distinct !{!4380, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE211_clEv"} -!4381 = !{!4382} -!4382 = distinct !{!4382, !4383, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE1_clESA_: %agg.result"} -!4383 = distinct !{!4383, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE1_clESA_"} -!4384 = !{!4385, !129, i64 0} -!4385 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6detail9half_impl4halfELNS0_6access13address_spaceE3ELNS5_9decoratedE0EEE", !129, i64 0} -!4386 = distinct !{!4386, !103} -!4387 = !{!4388} -!4388 = distinct !{!4388, !4389, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4389 = distinct !{!4389, !"_Z12__invoke_erfIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4390 = !{!4391} -!4391 = distinct !{!4391, !4392, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4392 = distinct !{!4392, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4393 = !{!4394} -!4394 = distinct !{!4394, !4395, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4395 = distinct !{!4395, !"_Z14__invoke_log1pIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4396 = !{!4397} -!4397 = distinct !{!4397, !4398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE343_clEv: %agg.result"} -!4398 = distinct !{!4398, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE343_clEv"} -!4399 = !{!4400} -!4400 = distinct !{!4400, !4401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE580_clEv: %agg.result"} -!4401 = distinct !{!4401, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE580_clEv"} -!4402 = !{!4403} -!4403 = distinct !{!4403, !4404, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE444_clEv: %agg.result"} -!4404 = distinct !{!4404, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE444_clEv"} -!4405 = !{!4406} -!4406 = distinct !{!4406, !4407, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE1_clES8_: %agg.result"} -!4407 = distinct !{!4407, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorIiLi1EEEE1_clES8_"} -!4408 = distinct !{!4408, !103} -!4409 = !{!4410} -!4410 = distinct !{!4410, !4411, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} -!4411 = distinct !{!4411, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm5EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} -!4412 = !{!4413} -!4413 = distinct !{!4413, !4414, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE810_clEv: %agg.result"} -!4414 = distinct !{!4414, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE810_clEv"} -!4415 = !{!4416} -!4416 = distinct !{!4416, !4417, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE4_clESA_: %agg.result"} -!4417 = distinct !{!4417, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE4_clESA_"} -!4418 = !{!4419} -!4419 = distinct !{!4419, !4420, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE735_clEv: %agg.result"} -!4420 = distinct !{!4420, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE735_clEv"} -!4421 = distinct !{!4421, !103} -!4422 = distinct !{!4422, !103} -!4423 = !{!3723, !129, i64 8} -!4424 = !{!4425} -!4425 = distinct !{!4425, !4426, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE547_clEv: %agg.result"} -!4426 = distinct !{!4426, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE547_clEv"} -!4427 = distinct !{!4427, !103} -!4428 = distinct !{!4428, !103} -!4429 = !{i32 9881422} -!4430 = !{!4431} -!4431 = distinct !{!4431, !4432, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!4432 = distinct !{!4432, !"_Z18__invoke_remainderIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!4433 = !{!4434} -!4434 = distinct !{!4434, !4435, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!4435 = distinct !{!4435, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!4436 = distinct !{!4436, !103} -!4437 = distinct !{!4437, !103} -!4438 = !{!4439} -!4439 = distinct !{!4439, !4440, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE462_clEv: %agg.result"} -!4440 = distinct !{!4440, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE462_clEv"} -!4441 = !{!4442} -!4442 = distinct !{!4442, !4443, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE0_clEv: %agg.result"} -!4443 = distinct !{!4443, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE0_clEv"} -!4444 = !{!4445} -!4445 = distinct !{!4445, !4446, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4446 = distinct !{!4446, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4447 = distinct !{!4447, !103} -!4448 = !{!4449} -!4449 = distinct !{!4449, !4450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE633_clEv: %agg.result"} -!4450 = distinct !{!4450, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE633_clEv"} -!4451 = !{!4452} -!4452 = distinct !{!4452, !4453, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE321_clEv: %agg.result"} -!4453 = distinct !{!4453, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE321_clEv"} -!4454 = !{!4455} -!4455 = distinct !{!4455, !4456, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE698_clEv: %agg.result"} -!4456 = distinct !{!4456, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE698_clEv"} -!4457 = !{!4458} -!4458 = distinct !{!4458, !4459, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE791_clEv: %agg.result"} -!4459 = distinct !{!4459, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE791_clEv"} -!4460 = !{!4461} -!4461 = distinct !{!4461, !4462, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4462 = distinct !{!4462, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4463 = distinct !{!4463, !103} -!4464 = !{!4465} -!4465 = distinct !{!4465, !4466, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!4466 = distinct !{!4466, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!4467 = !{!4468} -!4468 = distinct !{!4468, !4469, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE32_clEv: %agg.result"} -!4469 = distinct !{!4469, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE32_clEv"} -!4470 = !{!2406, !129, i64 8} -!4471 = !{!2406, !129, i64 16} -!4472 = !{!4473} -!4473 = distinct !{!4473, !4474, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE369_clEv: %agg.result"} -!4474 = distinct !{!4474, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE369_clEv"} -!4475 = !{i32 9835124} -!4476 = distinct !{!4476, !103} -!4477 = !{!4478} -!4478 = distinct !{!4478, !4479, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE279_clEv: %agg.result"} -!4479 = distinct !{!4479, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE279_clEv"} -!4480 = !{!3418, !129, i64 8} -!4481 = !{!3418, !129, i64 16} -!4482 = !{!3418, !129, i64 24} -!4483 = !{!4484} -!4484 = distinct !{!4484, !4485, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE366_clEv: %agg.result"} -!4485 = distinct !{!4485, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE366_clEv"} -!4486 = !{!4204, !129, i64 8} -!4487 = !{!4204, !129, i64 16} -!4488 = !{!4489} -!4489 = distinct !{!4489, !4490, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE609_clEv: %agg.result"} -!4490 = distinct !{!4490, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE609_clEv"} -!4491 = !{!4492} -!4492 = distinct !{!4492, !4493, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE489_clEv: %agg.result"} -!4493 = distinct !{!4493, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE489_clEv"} -!4494 = !{!4495} -!4495 = distinct !{!4495, !4496, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!4496 = distinct !{!4496, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} -!4497 = distinct !{!4497, !103} -!4498 = !{!4499} -!4499 = distinct !{!4499, !4500, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE2_clEv: %agg.result"} -!4500 = distinct !{!4500, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE2_clEv"} -!4501 = !{!4502} -!4502 = distinct !{!4502, !4503, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE273_clEv: %agg.result"} -!4503 = distinct !{!4503, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE273_clEv"} -!4504 = !{!4505} -!4505 = distinct !{!4505, !4506, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!4506 = distinct !{!4506, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} -!4507 = !{!4508} -!4508 = distinct !{!4508, !4509, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4509 = distinct !{!4509, !"_Z13__invoke_exp2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4510 = !{!4511} -!4511 = distinct !{!4511, !4512, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE655_clEv: %agg.result"} -!4512 = distinct !{!4512, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE655_clEv"} -!4513 = !{!4514} -!4514 = distinct !{!4514, !4515, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4515 = distinct !{!4515, !"_Z13__invoke_atanIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4516 = !{!4517} -!4517 = distinct !{!4517, !4518, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4518 = distinct !{!4518, !"_Z15__invoke_lgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4519 = distinct !{!4519, !103} -!4520 = !{!4521} -!4521 = distinct !{!4521, !4522, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!4522 = distinct !{!4522, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!4523 = !{!4524} -!4524 = distinct !{!4524, !4525, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE196_clEv: %agg.result"} -!4525 = distinct !{!4525, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE196_clEv"} -!4526 = !{!4527} -!4527 = distinct !{!4527, !4528, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!4528 = distinct !{!4528, !"_Z17__invoke_copysignIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!4529 = !{!4530} -!4530 = distinct !{!4530, !4531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE800_clEv: %agg.result"} -!4531 = distinct !{!4531, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE800_clEv"} -!4532 = !{!4533} -!4533 = distinct !{!4533, !4534, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE264_clEv: %agg.result"} -!4534 = distinct !{!4534, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE264_clEv"} -!4535 = !{!4536} -!4536 = distinct !{!4536, !4537, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE775_clEv: %agg.result"} -!4537 = distinct !{!4537, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE775_clEv"} -!4538 = !{!4539} -!4539 = distinct !{!4539, !4540, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE307_clEv: %agg.result"} -!4540 = distinct !{!4540, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE307_clEv"} -!4541 = distinct !{!4541, !103} -!4542 = !{!4543} -!4543 = distinct !{!4543, !4544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE70_clEv: %agg.result"} -!4544 = distinct !{!4544, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE70_clEv"} -!4545 = !{!4546} -!4546 = distinct !{!4546, !4547, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE302_clEv: %agg.result"} -!4547 = distinct !{!4547, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE302_clEv"} -!4548 = !{!4549} -!4549 = distinct !{!4549, !4550, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4550 = distinct !{!4550, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4551 = !{!4552} -!4552 = distinct !{!4552, !4553, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE526_clEv: %agg.result"} -!4553 = distinct !{!4553, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE526_clEv"} -!4554 = !{i32 10815719} -!4555 = !{!4556} -!4556 = distinct !{!4556, !4557, !"_Z12__invoke_tanIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!4557 = distinct !{!4557, !"_Z12__invoke_tanIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!4558 = !{!4559} -!4559 = distinct !{!4559, !4560, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE558_clEv: %agg.result"} -!4560 = distinct !{!4560, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE558_clEv"} -!4561 = !{!4562} -!4562 = distinct !{!4562, !4563, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE_clESD_: %agg.result"} -!4563 = distinct !{!4563, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm4EEELi1EEEE_clESD_"} -!4564 = !{!4565} -!4565 = distinct !{!4565, !4566, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4566 = distinct !{!4566, !"_Z14__invoke_exp10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4567 = !{!4568} -!4568 = distinct !{!4568, !4569, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE145_clEv: %agg.result"} -!4569 = distinct !{!4569, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE145_clEv"} -!4570 = !{i32 7573704} -!4571 = !{!4572} -!4572 = distinct !{!4572, !4573, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE422_clEv: %agg.result"} -!4573 = distinct !{!4573, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE422_clEv"} -!4574 = !{!4575} -!4575 = distinct !{!4575, !4576, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE500_clEv: %agg.result"} -!4576 = distinct !{!4576, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE500_clEv"} -!4577 = !{!3818, !129, i64 8} -!4578 = !{!3818, !129, i64 16} -!4579 = !{!4580} -!4580 = distinct !{!4580, !4581, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE622_clEv: %agg.result"} -!4581 = distinct !{!4581, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE622_clEv"} -!4582 = !{!4583} -!4583 = distinct !{!4583, !4584, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE106_clEv: %agg.result"} -!4584 = distinct !{!4584, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE106_clEv"} -!4585 = !{!4586, !129, i64 0} -!4586 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1025ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getLinearIndexILi1EEEmNS0_2idIXT_EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16} -!4587 = !{!4588} -!4588 = distinct !{!4588, !4589, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE103_clEv: %agg.result"} -!4589 = distinct !{!4589, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE103_clEv"} -!4590 = !{!4591} -!4591 = distinct !{!4591, !4592, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!4592 = distinct !{!4592, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} -!4593 = !{!1722, !129, i64 8} -!4594 = !{!1722, !129, i64 16} -!4595 = !{!4596} -!4596 = distinct !{!4596, !4597, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE781_clEv: %agg.result"} -!4597 = distinct !{!4597, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE781_clEv"} -!4598 = !{!4599} -!4599 = distinct !{!4599, !4600, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE679_clEv: %agg.result"} -!4600 = distinct !{!4600, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE679_clEv"} -!4601 = !{!4602} -!4602 = distinct !{!4602, !4603, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE753_clEv: %agg.result"} -!4603 = distinct !{!4603, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE753_clEv"} -!4604 = !{!4605} -!4605 = distinct !{!4605, !4606, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!4606 = distinct !{!4606, !"_Z15__invoke_sincosIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} -!4607 = !{!4608} -!4608 = distinct !{!4608, !4609, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE230_clEv: %agg.result"} -!4609 = distinct !{!4609, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE230_clEv"} -!4610 = distinct !{!4610, !103} -!4611 = !{!4612} -!4612 = distinct !{!4612, !4613, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4613 = distinct !{!4613, !"_Z14__invoke_cospiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4614 = distinct !{!4614, !103} -!4615 = !{!4616} -!4616 = distinct !{!4616, !4617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE501_clEv: %agg.result"} -!4617 = distinct !{!4617, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE501_clEv"} -!4618 = !{!4619} -!4619 = distinct !{!4619, !4620, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4620 = distinct !{!4620, !"_Z13__invoke_erfcIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4621 = !{!4622} -!4622 = distinct !{!4622, !4623, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE284_clEv: %agg.result"} -!4623 = distinct !{!4623, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE284_clEv"} -!4624 = !{!4625} -!4625 = distinct !{!4625, !4626, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_: %agg.result"} -!4626 = distinct !{!4626, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm17EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESI_"} -!4627 = !{!4628} -!4628 = distinct !{!4628, !4629, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4629 = distinct !{!4629, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4630 = distinct !{!4630, !103} -!4631 = !{!4632} -!4632 = distinct !{!4632, !4633, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE315_clEv: %agg.result"} -!4633 = distinct !{!4633, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE315_clEv"} -!4634 = !{!4635} -!4635 = distinct !{!4635, !4636, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE546_clEv: %agg.result"} -!4636 = distinct !{!4636, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE546_clEv"} -!4637 = !{!4638, !129, i64 0} -!4638 = !{!"_ZTSZN4sycl3_V18accessorINS0_6marrayIiLm4EEELi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE6__initEPU3AS1S3_NS0_5rangeILi1EEESG_NS0_2idILi1EEEEUlmE_", !129, i64 0, !129, i64 8, !129, i64 16, !129, i64 24} -!4639 = !{!858, !129, i64 8} -!4640 = !{!858, !129, i64 16} -!4641 = !{!858, !129, i64 24} -!4642 = !{!4643} -!4643 = distinct !{!4643, !4644, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE140_clEv: %agg.result"} -!4644 = distinct !{!4644, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE140_clEv"} -!4645 = !{!4646} -!4646 = distinct !{!4646, !4647, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4647 = distinct !{!4647, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4648 = !{!4649} -!4649 = distinct !{!4649, !4650, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4650 = distinct !{!4650, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4651 = !{!4652} -!4652 = distinct !{!4652, !4653, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!4653 = distinct !{!4653, !"_Z13__invoke_modfIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} -!4654 = !{!4655} -!4655 = distinct !{!4655, !4656, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE123_clEv: %agg.result"} -!4656 = distinct !{!4656, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE123_clEv"} -!4657 = !{!2104, !129, i64 8} -!4658 = !{!4659} -!4659 = distinct !{!4659, !4660, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE341_clEv: %agg.result"} -!4660 = distinct !{!4660, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE341_clEv"} -!4661 = !{!4662} -!4662 = distinct !{!4662, !4663, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE259_clEv: %agg.result"} -!4663 = distinct !{!4663, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE259_clEv"} -!4664 = distinct !{!4664, !103} -!4665 = !{!4666} -!4666 = distinct !{!4666, !4667, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!4667 = distinct !{!4667, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE0EEEET_T0_T1_"} -!4668 = distinct !{!4668, !103} -!4669 = !{!4670} -!4670 = distinct !{!4670, !4671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE4_clESA_: %agg.result"} -!4671 = distinct !{!4671, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE4_clESA_"} -!4672 = !{!4673} -!4673 = distinct !{!4673, !4674, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE166_clEv: %agg.result"} -!4674 = distinct !{!4674, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE166_clEv"} -!4675 = !{!4676} -!4676 = distinct !{!4676, !4677, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_: %agg.result"} -!4677 = distinct !{!4677, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESL_"} -!4678 = distinct !{!4678, !103} -!4679 = !{!4680} -!4680 = distinct !{!4680, !4681, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_: %agg.result"} -!4681 = distinct !{!4681, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE0EEEET_T0_T1_"} -!4682 = !{!4683} -!4683 = distinct !{!4683, !4684, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4684 = distinct !{!4684, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4685 = distinct !{!4685, !103} -!4686 = !{!4687} -!4687 = distinct !{!4687, !4688, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE528_clEv: %agg.result"} -!4688 = distinct !{!4688, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE528_clEv"} -!4689 = !{!4690} -!4690 = distinct !{!4690, !4691, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE783_clEv: %agg.result"} -!4691 = distinct !{!4691, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE783_clEv"} -!4692 = distinct !{!4692, !103} -!4693 = distinct !{!4693, !103} -!4694 = distinct !{!4694, !103} -!4695 = !{!4696} -!4696 = distinct !{!4696, !4697, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_: %agg.result"} -!4697 = distinct !{!4697, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE4_clESL_"} -!4698 = !{!4699} -!4699 = distinct !{!4699, !4700, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE237_clEv: %agg.result"} -!4700 = distinct !{!4700, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE237_clEv"} -!4701 = !{!4702} -!4702 = distinct !{!4702, !4703, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE403_clEv: %agg.result"} -!4703 = distinct !{!4703, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE403_clEv"} -!4704 = !{!4705} -!4705 = distinct !{!4705, !4706, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE437_clEv: %agg.result"} -!4706 = distinct !{!4706, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE437_clEv"} -!4707 = !{!4708} -!4708 = distinct !{!4708, !4709, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4709 = distinct !{!4709, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4710 = !{!4711} -!4711 = distinct !{!4711, !4712, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE650_clEv: %agg.result"} -!4712 = distinct !{!4712, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE650_clEv"} -!4713 = !{!4714} -!4714 = distinct !{!4714, !4715, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!4715 = distinct !{!4715, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!4716 = !{!4717} -!4717 = distinct !{!4717, !4718, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE673_clEv: %agg.result"} -!4718 = distinct !{!4718, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE673_clEv"} -!4719 = !{!4720} -!4720 = distinct !{!4720, !4721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE83_clEv: %agg.result"} -!4721 = distinct !{!4721, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE83_clEv"} -!4722 = !{!4723} -!4723 = distinct !{!4723, !4724, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE708_clEv: %agg.result"} -!4724 = distinct !{!4724, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE708_clEv"} -!4725 = !{i32 6027457} -!4726 = !{i32 1393655} -!4727 = !{!4728} -!4728 = distinct !{!4728, !4729, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!4729 = distinct !{!4729, !"_Z13__invoke_logbIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!4730 = !{!4731} -!4731 = distinct !{!4731, !4732, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE291_clEv: %agg.result"} -!4732 = distinct !{!4732, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE291_clEv"} -!4733 = distinct !{!4733, !103} -!4734 = !{!4735} -!4735 = distinct !{!4735, !4736, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE174_clEv: %agg.result"} -!4736 = distinct !{!4736, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE174_clEv"} -!4737 = !{!4738} -!4738 = distinct !{!4738, !4739, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!4739 = distinct !{!4739, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!4740 = !{!4741} -!4741 = distinct !{!4741, !4742, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE_clESD_: %agg.result"} -!4742 = distinct !{!4742, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1EEEE_clESD_"} -!4743 = !{!4586, !129, i64 8} -!4744 = !{!4586, !129, i64 16} -!4745 = !{i32 6011226} -!4746 = !{!1985, !129, i64 8} -!4747 = !{!1985, !129, i64 16} -!4748 = !{!4749} -!4749 = distinct !{!4749, !4750, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_: %agg.result"} -!4750 = distinct !{!4750, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESI_"} -!4751 = !{!4752} -!4752 = distinct !{!4752, !4753, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE397_clEv: %agg.result"} -!4753 = distinct !{!4753, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE397_clEv"} -!4754 = !{!4755} -!4755 = distinct !{!4755, !4756, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4756 = distinct !{!4756, !"_Z13__invoke_asinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4757 = !{!4758} -!4758 = distinct !{!4758, !4759, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE428_clEv: %agg.result"} -!4759 = distinct !{!4759, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE428_clEv"} -!4760 = !{!4761} -!4761 = distinct !{!4761, !4762, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE725_clEv: %agg.result"} -!4762 = distinct !{!4762, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE725_clEv"} -!4763 = !{!4764} -!4764 = distinct !{!4764, !4765, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE515_clEv: %agg.result"} -!4765 = distinct !{!4765, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE515_clEv"} -!4766 = !{!4767} -!4767 = distinct !{!4767, !4768, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE818_clEv: %agg.result"} -!4768 = distinct !{!4768, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE818_clEv"} -!4769 = !{i32 10790430} -!4770 = !{!4771} -!4771 = distinct !{!4771, !4772, !"_Z14__invoke_cospiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!4772 = distinct !{!4772, !"_Z14__invoke_cospiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!4773 = !{!4774} -!4774 = distinct !{!4774, !4775, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4775 = distinct !{!4775, !"_Z14__invoke_acoshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4776 = distinct !{!4776, !103} -!4777 = !{!4778} -!4778 = distinct !{!4778, !4779, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE335_clEv: %agg.result"} -!4779 = distinct !{!4779, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE335_clEv"} -!4780 = distinct !{!4780, !103} -!4781 = !{!4782} -!4782 = distinct !{!4782, !4783, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE692_clEv: %agg.result"} -!4783 = distinct !{!4783, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE692_clEv"} -!4784 = distinct !{!4784, !103} -!4785 = distinct !{!4785, !103} -!4786 = !{!4787} -!4787 = distinct !{!4787, !4788, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE401_clEv: %agg.result"} -!4788 = distinct !{!4788, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE401_clEv"} -!4789 = !{!4790} -!4790 = distinct !{!4790, !4791, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!4791 = distinct !{!4791, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!4792 = !{!4793} -!4793 = distinct !{!4793, !4794, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4794 = distinct !{!4794, !"_Z13__invoke_tanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4795 = !{!4796} -!4796 = distinct !{!4796, !4797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE312_clEv: %agg.result"} -!4797 = distinct !{!4797, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE312_clEv"} -!4798 = !{!4799} -!4799 = distinct !{!4799, !4800, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE661_clEv: %agg.result"} -!4800 = distinct !{!4800, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE661_clEv"} -!4801 = !{!4802} -!4802 = distinct !{!4802, !4803, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4803 = distinct !{!4803, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4804 = distinct !{!4804, !103} -!4805 = distinct !{!4805, !103} -!4806 = !{!4807} -!4807 = distinct !{!4807, !4808, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE694_clEv: %agg.result"} -!4808 = distinct !{!4808, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE694_clEv"} -!4809 = distinct !{!4809, !103} -!4810 = !{!4811} -!4811 = distinct !{!4811, !4812, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESG_: %agg.result"} -!4812 = distinct !{!4812, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE0_clESG_"} -!4813 = !{!4814} -!4814 = distinct !{!4814, !4815, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_: %agg.result"} -!4815 = distinct !{!4815, !"_Z13__invoke_fmodIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_S6_ET_T0_T1_"} -!4816 = !{!4817} -!4817 = distinct !{!4817, !4818, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE313_clEv: %agg.result"} -!4818 = distinct !{!4818, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE313_clEv"} -!4819 = !{!4820} -!4820 = distinct !{!4820, !4821, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE809_clEv: %agg.result"} -!4821 = distinct !{!4821, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE809_clEv"} -!4822 = !{!4823} -!4823 = distinct !{!4823, !4824, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_: %agg.result"} -!4824 = distinct !{!4824, !"_Z15__invoke_minmagIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_S6_ET_T0_T1_"} -!4825 = !{!4638, !129, i64 8} -!4826 = !{!4638, !129, i64 16} -!4827 = !{!4638, !129, i64 24} -!4828 = !{!4829} -!4829 = distinct !{!4829, !4830, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE699_clEv: %agg.result"} -!4830 = distinct !{!4830, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE699_clEv"} -!4831 = !{!4832} -!4832 = distinct !{!4832, !4833, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!4833 = distinct !{!4833, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!4834 = !{!4835} -!4835 = distinct !{!4835, !4836, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE1_clESD_: %agg.result"} -!4836 = distinct !{!4836, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE1_clESD_"} -!4837 = distinct !{!4837, !103} -!4838 = distinct !{!4838, !103} -!4839 = distinct !{!4839, !103} -!4840 = !{!4841} -!4841 = distinct !{!4841, !4842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE261_clEv: %agg.result"} -!4842 = distinct !{!4842, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE261_clEv"} -!4843 = !{!4844} -!4844 = distinct !{!4844, !4845, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4845 = distinct !{!4845, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4846 = !{!4847} -!4847 = distinct !{!4847, !4848, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE3_clESA_: %agg.result"} -!4848 = distinct !{!4848, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE3_clESA_"} -!4849 = !{!4850} -!4850 = distinct !{!4850, !4851, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!4851 = distinct !{!4851, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!4852 = !{!4853} -!4853 = distinct !{!4853, !4854, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE_clESA_: %agg.result"} -!4854 = distinct !{!4854, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE_clESA_"} -!4855 = !{!4856} -!4856 = distinct !{!4856, !4857, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4857 = distinct !{!4857, !"_Z14__invoke_log10IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4858 = !{!4859} -!4859 = distinct !{!4859, !4860, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE576_clEv: %agg.result"} -!4860 = distinct !{!4860, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE576_clEv"} -!4861 = !{!4862} -!4862 = distinct !{!4862, !4863, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE611_clEv: %agg.result"} -!4863 = distinct !{!4863, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE611_clEv"} -!4864 = distinct !{!4864, !103} -!4865 = distinct !{!4865, !103} -!4866 = !{!4867} -!4867 = distinct !{!4867, !4868, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE533_clEv: %agg.result"} -!4868 = distinct !{!4868, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE533_clEv"} -!4869 = distinct !{!4869, !103} -!4870 = !{!4871} -!4871 = distinct !{!4871, !4872, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE334_clEv: %agg.result"} -!4872 = distinct !{!4872, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE334_clEv"} -!4873 = !{!4874} -!4874 = distinct !{!4874, !4875, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4875 = distinct !{!4875, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4876 = !{!4877} -!4877 = distinct !{!4877, !4878, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4878 = distinct !{!4878, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4879 = !{!4880} -!4880 = distinct !{!4880, !4881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE347_clEv: %agg.result"} -!4881 = distinct !{!4881, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE347_clEv"} -!4882 = !{!4883} -!4883 = distinct !{!4883, !4884, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE33_clEv: %agg.result"} -!4884 = distinct !{!4884, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE33_clEv"} -!4885 = !{!4886} -!4886 = distinct !{!4886, !4887, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE21_clEv: %agg.result"} -!4887 = distinct !{!4887, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE21_clEv"} -!4888 = !{!4889} -!4889 = distinct !{!4889, !4890, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE115_clEv: %agg.result"} -!4890 = distinct !{!4890, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE115_clEv"} -!4891 = distinct !{!4891, !103} -!4892 = !{!4893} -!4893 = distinct !{!4893, !4894, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4894 = distinct !{!4894, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4895 = !{!4896} -!4896 = distinct !{!4896, !4897, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE534_clEv: %agg.result"} -!4897 = distinct !{!4897, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE534_clEv"} -!4898 = !{!4899} -!4899 = distinct !{!4899, !4900, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE92_clEv: %agg.result"} -!4900 = distinct !{!4900, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE92_clEv"} -!4901 = !{!4902, !129, i64 0} -!4902 = !{!"_ZTSZNK4sycl3_V18accessorINS0_6marrayINS0_6detail9half_impl4halfELm3EEELi1ELNS0_6access4modeE1026ELNS7_6targetE2014ELNS7_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEE14getTotalOffsetEvEUlmE_", !129, i64 0, !129, i64 8} -!4903 = !{!4904} -!4904 = distinct !{!4904, !4905, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!4905 = distinct !{!4905, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!4906 = !{!4907} -!4907 = distinct !{!4907, !4908, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE392_clEv: %agg.result"} -!4908 = distinct !{!4908, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE392_clEv"} -!4909 = !{!4910} -!4910 = distinct !{!4910, !4911, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!4911 = distinct !{!4911, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!4912 = !{!4913} -!4913 = distinct !{!4913, !4914, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4914 = distinct !{!4914, !"_Z14__invoke_atanhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4915 = !{!4916} -!4916 = distinct !{!4916, !4917, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE2_clESD_: %agg.result"} -!4917 = distinct !{!4917, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE2_clESD_"} -!4918 = distinct !{!4918, !103} -!4919 = !{!4920} -!4920 = distinct !{!4920, !4921, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE328_clEv: %agg.result"} -!4921 = distinct !{!4921, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE328_clEv"} -!4922 = !{!4923} -!4923 = distinct !{!4923, !4924, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!4924 = distinct !{!4924, !"_Z13__invoke_log2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!4925 = !{!4926} -!4926 = distinct !{!4926, !4927, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE178_clEv: %agg.result"} -!4927 = distinct !{!4927, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE178_clEv"} -!4928 = !{!4929} -!4929 = distinct !{!4929, !4930, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE819_clEv: %agg.result"} -!4930 = distinct !{!4930, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE819_clEv"} -!4931 = !{!2896, !129, i64 8} -!4932 = !{!4933} -!4933 = distinct !{!4933, !4934, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE124_clEv: %agg.result"} -!4934 = distinct !{!4934, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE124_clEv"} -!4935 = !{!4936} -!4936 = distinct !{!4936, !4937, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!4937 = distinct !{!4937, !"_Z12__invoke_sinIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!4938 = !{!4939} -!4939 = distinct !{!4939, !4940, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE516_clEv: %agg.result"} -!4940 = distinct !{!4940, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE516_clEv"} -!4941 = !{!4942} -!4942 = distinct !{!4942, !4943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE674_clEv: %agg.result"} -!4943 = distinct !{!4943, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE674_clEv"} -!4944 = !{!4945} -!4945 = distinct !{!4945, !4946, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE551_clEv: %agg.result"} -!4946 = distinct !{!4946, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE551_clEv"} -!4947 = !{!4948, !129, i64 0} -!4948 = !{!"_ZTSN4sycl3_V19multi_ptrINS0_6marrayIiLm2EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEE", !129, i64 0} -!4949 = !{!4950} -!4950 = distinct !{!4950, !4951, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE336_clEv: %agg.result"} -!4951 = distinct !{!4951, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE336_clEv"} -!4952 = !{!4953} -!4953 = distinct !{!4953, !4954, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE22_clEv: %agg.result"} -!4954 = distinct !{!4954, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE22_clEv"} -!4955 = distinct !{!4955, !103} -!4956 = !{!4957} -!4957 = distinct !{!4957, !4958, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE2_clESA_: %agg.result"} -!4958 = distinct !{!4958, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE2_clESA_"} -!4959 = !{!4960} -!4960 = distinct !{!4960, !4961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE141_clEv: %agg.result"} -!4961 = distinct !{!4961, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE141_clEv"} -!4962 = distinct !{!4962, !103} -!4963 = !{!4964} -!4964 = distinct !{!4964, !4965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE210_clEv: %agg.result"} -!4965 = distinct !{!4965, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE210_clEv"} -!4966 = !{!4967} -!4967 = distinct !{!4967, !4968, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE100_clEv: %agg.result"} -!4968 = distinct !{!4968, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE100_clEv"} -!4969 = !{!4970} -!4970 = distinct !{!4970, !4971, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE414_clEv: %agg.result"} -!4971 = distinct !{!4971, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE414_clEv"} -!4972 = !{!4973} -!4973 = distinct !{!4973, !4974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESG_: %agg.result"} -!4974 = distinct !{!4974, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESG_"} -!4975 = !{i32 10810214} -!4976 = !{!4977} -!4977 = distinct !{!4977, !4978, !"_Z14__invoke_rootnIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_: %agg.result"} -!4978 = distinct !{!4978, !"_Z14__invoke_rootnIN4sycl3_V16detail9half_impl4halfES4_iET_T0_T1_"} -!4979 = !{!4980} -!4980 = distinct !{!4980, !4981, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE8_clEv: %agg.result"} -!4981 = distinct !{!4981, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE8_clEv"} -!4982 = !{i32 10806476} -!4983 = !{!4984} -!4984 = distinct !{!4984, !4985, !"_Z18__invoke_nextafterIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!4985 = distinct !{!4985, !"_Z18__invoke_nextafterIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!4986 = distinct !{!4986, !103} -!4987 = !{!4988} -!4988 = distinct !{!4988, !4989, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE663_clEv: %agg.result"} -!4989 = distinct !{!4989, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE663_clEv"} -!4990 = distinct !{!4990, !103} -!4991 = !{!1547, !129, i64 8} -!4992 = !{!1547, !129, i64 16} -!4993 = !{!1547, !129, i64 24} -!4994 = !{!4995} -!4995 = distinct !{!4995, !4996, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE433_clEv: %agg.result"} -!4996 = distinct !{!4996, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE433_clEv"} -!4997 = !{!4998} -!4998 = distinct !{!4998, !4999, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE268_clEv: %agg.result"} -!4999 = distinct !{!4999, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE268_clEv"} -!5000 = !{!5001} -!5001 = distinct !{!5001, !5002, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE97_clEv: %agg.result"} -!5002 = distinct !{!5002, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE97_clEv"} -!5003 = !{!5004} -!5004 = distinct !{!5004, !5005, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!5005 = distinct !{!5005, !"_Z12__invoke_logIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!5006 = !{!5007} -!5007 = distinct !{!5007, !5008, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE739_clEv: %agg.result"} -!5008 = distinct !{!5008, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE739_clEv"} -!5009 = !{!5010} -!5010 = distinct !{!5010, !5011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_: %agg.result"} -!5011 = distinct !{!5011, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayIiLm3EEELi1ELNS6_6access4modeE1026ELNSA_6targetE2014ELNSA_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE2_clESI_"} -!5012 = !{!5013} -!5013 = distinct !{!5013, !5014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE470_clEv: %agg.result"} -!5014 = distinct !{!5014, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE470_clEv"} -!5015 = !{!5016} -!5016 = distinct !{!5016, !5017, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!5017 = distinct !{!5017, !"_Z15__invoke_tgammaIN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!5018 = distinct !{!5018, !103} -!5019 = distinct !{!5019, !103} -!5020 = distinct !{!5020, !103} -!5021 = !{!5022} -!5022 = distinct !{!5022, !5023, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_: %agg.result"} -!5023 = distinct !{!5023, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE3_clESL_"} -!5024 = !{!5025} -!5025 = distinct !{!5025, !5026, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!5026 = distinct !{!5026, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_"} -!5027 = !{!5028} -!5028 = distinct !{!5028, !5029, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE766_clEv: %agg.result"} -!5029 = distinct !{!5029, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE766_clEv"} -!5030 = !{!5031} -!5031 = distinct !{!5031, !5032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE0_clESD_: %agg.result"} -!5032 = distinct !{!5032, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm2EEELi1EEEE0_clESD_"} -!5033 = !{!5034} -!5034 = distinct !{!5034, !5035, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!5035 = distinct !{!5035, !"_Z14__invoke_asinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!5036 = !{!4902, !129, i64 8} -!5037 = !{!5038} -!5038 = distinct !{!5038, !5039, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE225_clEv: %agg.result"} -!5039 = distinct !{!5039, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE225_clEv"} -!5040 = !{!5041} -!5041 = distinct !{!5041, !5042, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!5042 = distinct !{!5042, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!5043 = !{!5044} -!5044 = distinct !{!5044, !5045, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!5045 = distinct !{!5045, !"_Z14__invoke_fractIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIS4_LNS1_6access13address_spaceE3ELNS6_9decoratedE1EEEET_T0_T1_"} -!5046 = !{!5047} -!5047 = distinct !{!5047, !5048, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE668_clEv: %agg.result"} -!5048 = distinct !{!5048, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE668_clEv"} -!5049 = !{!5050} -!5050 = distinct !{!5050, !5051, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE290_clEv: %agg.result"} -!5051 = distinct !{!5051, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE290_clEv"} -!5052 = !{!5053} -!5053 = distinct !{!5053, !5054, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE192_clEv: %agg.result"} -!5054 = distinct !{!5054, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE192_clEv"} -!5055 = !{!5056} -!5056 = distinct !{!5056, !5057, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!5057 = distinct !{!5057, !"_Z13__invoke_ceilIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!5058 = !{!5059} -!5059 = distinct !{!5059, !5060, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE227_clEv: %agg.result"} -!5060 = distinct !{!5060, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE227_clEv"} -!5061 = !{!5062} -!5062 = distinct !{!5062, !5063, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE535_clEv: %agg.result"} -!5063 = distinct !{!5063, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE535_clEv"} -!5064 = distinct !{!5064, !103} -!5065 = !{!5066} -!5066 = distinct !{!5066, !5067, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE137_clEv: %agg.result"} -!5067 = distinct !{!5067, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE137_clEv"} -!5068 = !{!5069} -!5069 = distinct !{!5069, !5070, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE265_clEv: %agg.result"} -!5070 = distinct !{!5070, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE265_clEv"} -!5071 = !{!5072} -!5072 = distinct !{!5072, !5073, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE122_clEv: %agg.result"} -!5073 = distinct !{!5073, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE122_clEv"} -!5074 = !{!5075} -!5075 = distinct !{!5075, !5076, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE538_clEv: %agg.result"} -!5076 = distinct !{!5076, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE538_clEv"} -!5077 = !{!5078} -!5078 = distinct !{!5078, !5079, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!5079 = distinct !{!5079, !"_Z14__invoke_sinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!5080 = !{!5081} -!5081 = distinct !{!5081, !5082, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE557_clEv: %agg.result"} -!5082 = distinct !{!5082, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE557_clEv"} -!5083 = !{i32 8486545} -!5084 = !{!5085} -!5085 = distinct !{!5085, !5086, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE201_clEv: %agg.result"} -!5086 = distinct !{!5086, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE201_clEv"} -!5087 = !{!5088} -!5088 = distinct !{!5088, !5089, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE350_clEv: %agg.result"} -!5089 = distinct !{!5089, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE350_clEv"} -!5090 = !{!5091} -!5091 = distinct !{!5091, !5092, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_T2_: %agg.result"} -!5092 = distinct !{!5092, !"_Z15__invoke_remquoIN4sycl3_V16detail9half_impl4halfES4_S4_NS1_9multi_ptrIiLNS1_6access13address_spaceE0ELNS6_9decoratedE1EEEET_T0_T1_T2_"} -!5093 = !{!5094} -!5094 = distinct !{!5094, !5095, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE362_clEv: %agg.result"} -!5095 = distinct !{!5095, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE362_clEv"} -!5096 = !{!3816, !129, i64 8} -!5097 = !{!3816, !129, i64 16} -!5098 = !{!5099} -!5099 = distinct !{!5099, !5100, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_: %agg.result"} -!5100 = distinct !{!5100, !"_Z13__invoke_fdimIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_S6_ET_T0_T1_"} -!5101 = distinct !{!5101, !103} -!5102 = !{!5103} -!5103 = distinct !{!5103, !5104, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!5104 = distinct !{!5104, !"_Z17__invoke_lgamma_rIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} -!5105 = !{!5106} -!5106 = distinct !{!5106, !5107, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE461_clEv: %agg.result"} -!5107 = distinct !{!5107, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE461_clEv"} -!5108 = distinct !{!5108, !103} -!5109 = !{!5110} -!5110 = distinct !{!5110, !5111, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESG_: %agg.result"} -!5111 = distinct !{!5111, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE_clESG_"} -!5112 = !{!5113} -!5113 = distinct !{!5113, !5114, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE158_clEv: %agg.result"} -!5114 = distinct !{!5114, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE158_clEv"} -!5115 = !{!5116} -!5116 = distinct !{!5116, !5117, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE1_clESA_: %agg.result"} -!5117 = distinct !{!5117, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm3EEELi1EEEE1_clESA_"} -!5118 = !{!5119} -!5119 = distinct !{!5119, !5120, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!5120 = distinct !{!5120, !"_Z13__invoke_coshIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!5121 = !{i32 10787582} -!5122 = !{!5123} -!5123 = distinct !{!5123, !5124, !"_Z14__invoke_atan2IN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!5124 = distinct !{!5124, !"_Z14__invoke_atan2IN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!5125 = !{i32 10786207} -!5126 = !{!5127} -!5127 = distinct !{!5127, !5128, !"_Z15__invoke_acospiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!5128 = distinct !{!5128, !"_Z15__invoke_acospiIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!5129 = !{!5130} -!5130 = distinct !{!5130, !5131, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE102_clEv: %agg.result"} -!5131 = distinct !{!5131, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE102_clEv"} -!5132 = distinct !{!5132, !103} -!5133 = !{!5134} -!5134 = distinct !{!5134, !5135, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE427_clEv: %agg.result"} -!5135 = distinct !{!5135, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE427_clEv"} -!5136 = !{!5137} -!5137 = distinct !{!5137, !5138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE4_clESA_: %agg.result"} -!5138 = distinct !{!5138, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm5EEELi1EEEE4_clESA_"} -!5139 = !{!5140} -!5140 = distinct !{!5140, !5141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE796_clEv: %agg.result"} -!5141 = distinct !{!5141, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE796_clEv"} -!5142 = !{!5143} -!5143 = distinct !{!5143, !5144, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_: %agg.result"} -!5144 = distinct !{!5144, !"_Z14__invoke_roundIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_ET_T0_"} -!5145 = distinct !{!5145, !103} -!5146 = !{!5147} -!5147 = distinct !{!5147, !5148, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!5148 = distinct !{!5148, !"_Z14__invoke_rsqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!5149 = !{!5150} -!5150 = distinct !{!5150, !5151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE554_clEv: %agg.result"} -!5151 = distinct !{!5151, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE554_clEv"} -!5152 = !{!5153} -!5153 = distinct !{!5153, !5154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE726_clEv: %agg.result"} -!5154 = distinct !{!5154, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE726_clEv"} -!5155 = !{i32 6825874} -!5156 = !{!5157} -!5157 = distinct !{!5157, !5158, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE258_clEv: %agg.result"} -!5158 = distinct !{!5158, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE258_clEv"} -!5159 = !{!5160} -!5160 = distinct !{!5160, !5161, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!5161 = distinct !{!5161, !"_Z14__invoke_hypotIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!5162 = !{!5163} -!5163 = distinct !{!5163, !5164, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE129_clEv: %agg.result"} -!5164 = distinct !{!5164, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE129_clEv"} -!5165 = !{!3340, !129, i64 8} -!5166 = !{!5167} -!5167 = distinct !{!5167, !5168, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE255_clEv: %agg.result"} -!5168 = distinct !{!5168, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE255_clEv"} -!5169 = !{!5170} -!5170 = distinct !{!5170, !5171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE4_clESA_: %agg.result"} -!5171 = distinct !{!5171, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm2EEELi1EEEE4_clESA_"} -!5172 = distinct !{!5172, !103} -!5173 = !{!5174} -!5174 = distinct !{!5174, !5175, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_: %agg.result"} -!5175 = distinct !{!5175, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorINS6_6marrayINS6_6detail9half_impl4halfELm5EEELi1ELNS6_6access4modeE1026ELNSD_6targetE2014ELNSD_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESL_"} -!5176 = !{!5177} -!5177 = distinct !{!5177, !5178, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!5178 = distinct !{!5178, !"_Z12__invoke_cosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!5179 = !{!5180} -!5180 = distinct !{!5180, !5181, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE1_clESD_: %agg.result"} -!5181 = distinct !{!5181, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE1_clESD_"} -!5182 = !{!5183} -!5183 = distinct !{!5183, !5184, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE606_clEv: %agg.result"} -!5184 = distinct !{!5184, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE606_clEv"} -!5185 = !{!5186} -!5186 = distinct !{!5186, !5187, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_: %agg.result"} -!5187 = distinct !{!5187, !"_Z13__invoke_fmaxIN4sycl3_V13vecINS1_6detail9half_impl4halfELi2EEES6_S6_ET_T0_T1_"} -!5188 = !{!5189} -!5189 = distinct !{!5189, !5190, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESG_: %agg.result"} -!5190 = distinct !{!5190, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V18accessorIiLi1ELNS6_6access4modeE1026ELNS8_6targetE2014ELNS8_11placeholderE0ENS6_3ext6oneapi22accessor_property_listIJEEEEEE1_clESG_"} -!5191 = distinct !{!5191, !103} -!5192 = !{!5193} -!5193 = distinct !{!5193, !5194, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE747_clEv: %agg.result"} -!5194 = distinct !{!5194, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE747_clEv"} -!5195 = !{i32 10786743} -!5196 = !{!5197} -!5197 = distinct !{!5197, !5198, !"_Z14__invoke_asinhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!5198 = distinct !{!5198, !"_Z14__invoke_asinhIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!5199 = !{!5200} -!5200 = distinct !{!5200, !5201, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_: %agg.result"} -!5201 = distinct !{!5201, !"_Z14__invoke_frexpIN4sycl3_V16detail9half_impl4halfES4_NS1_9multi_ptrIiLNS1_6access13address_spaceE1ELNS6_9decoratedE1EEEET_T0_T1_"} -!5202 = !{!5203} -!5203 = distinct !{!5203, !5204, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE3_clESA_: %agg.result"} -!5204 = distinct !{!5204, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm4EEELi1EEEE3_clESA_"} -!5205 = !{!5206} -!5206 = distinct !{!5206, !5207, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE814_clEv: %agg.result"} -!5207 = distinct !{!5207, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE814_clEv"} -!5208 = !{!5209} -!5209 = distinct !{!5209, !5210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE786_clEv: %agg.result"} -!5210 = distinct !{!5210, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE786_clEv"} -!5211 = distinct !{!5211, !103} -!5212 = distinct !{!5212, !103} -!5213 = !{!5214} -!5214 = distinct !{!5214, !5215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE0_clESB_: %agg.result"} -!5215 = distinct !{!5215, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6detail9half_impl4halfELi1EEEE0_clESB_"} -!5216 = !{!5217} -!5217 = distinct !{!5217, !5218, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE243_clEv: %agg.result"} -!5218 = distinct !{!5218, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE243_clEv"} -!5219 = !{!5220} -!5220 = distinct !{!5220, !5221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE794_clEv: %agg.result"} -!5221 = distinct !{!5221, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE794_clEv"} -!5222 = distinct !{!5222, !103} -!5223 = !{!5224} -!5224 = distinct !{!5224, !5225, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE330_clEv: %agg.result"} -!5225 = distinct !{!5225, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE330_clEv"} -!5226 = !{!5227} -!5227 = distinct !{!5227, !5228, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE295_clEv: %agg.result"} -!5228 = distinct !{!5228, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE295_clEv"} -!5229 = distinct !{!5229, !103} -!5230 = !{!5231} -!5231 = distinct !{!5231, !5232, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!5232 = distinct !{!5232, !"_Z15__invoke_asinpiIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!5233 = distinct !{!5233, !103} -!5234 = !{!5235} -!5235 = distinct !{!5235, !5236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE120_clEv: %agg.result"} -!5236 = distinct !{!5236, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE120_clEv"} -!5237 = !{!5238} -!5238 = distinct !{!5238, !5239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE_clESA_: %agg.result"} -!5239 = distinct !{!5239, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayIiLm17EEELi1EEEE_clESA_"} -!5240 = !{i32 -2140803721} -!5241 = !{!926, !129, i64 8} -!5242 = !{!926, !129, i64 16} -!5243 = !{!5244} -!5244 = distinct !{!5244, !5245, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE43_clEv: %agg.result"} -!5245 = distinct !{!5245, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE43_clEv"} -!5246 = !{!5247} -!5247 = distinct !{!5247, !5248, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE3_clESD_: %agg.result"} -!5248 = distinct !{!5248, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlN4sycl3_V114local_accessorINS6_6marrayINS6_6detail9half_impl4halfELm3EEELi1EEEE3_clESD_"} -!5249 = !{!5250} -!5250 = distinct !{!5250, !5251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE277_clEv: %agg.result"} -!5251 = distinct !{!5251, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE277_clEv"} -!5252 = distinct !{!5252, !103} -!5253 = distinct !{!5253, !103} -!5254 = !{!5255} -!5255 = distinct !{!5255, !5256, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE209_clEv: %agg.result"} -!5256 = distinct !{!5256, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE209_clEv"} -!5257 = !{!5258} -!5258 = distinct !{!5258, !5259, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_: %agg.result"} -!5259 = distinct !{!5259, !"_Z13__invoke_sinhIN4sycl3_V13vecINS1_6detail9half_impl4halfELi16EEES6_ET_T0_"} -!5260 = !{!5261} -!5261 = distinct !{!5261, !5262, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE496_clEv: %agg.result"} -!5262 = distinct !{!5262, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE496_clEv"} -!5263 = !{!5264} -!5264 = distinct !{!5264, !5265, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE779_clEv: %agg.result"} -!5265 = distinct !{!5265, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE779_clEv"} -!5266 = !{!5267} -!5267 = distinct !{!5267, !5268, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE487_clEv: %agg.result"} -!5268 = distinct !{!5268, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE487_clEv"} -!5269 = !{!5270} -!5270 = distinct !{!5270, !5271, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE787_clEv: %agg.result"} -!5271 = distinct !{!5271, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE787_clEv"} -!5272 = distinct !{!5272, !103} -!5273 = !{!5274} -!5274 = distinct !{!5274, !5275, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE344_clEv: %agg.result"} -!5275 = distinct !{!5275, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE344_clEv"} -!5276 = !{!5277} -!5277 = distinct !{!5277, !5278, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE439_clEv: %agg.result"} -!5278 = distinct !{!5278, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE439_clEv"} -!5279 = !{!5280} -!5280 = distinct !{!5280, !5281, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE531_clEv: %agg.result"} -!5281 = distinct !{!5281, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE531_clEv"} -!5282 = distinct !{!5282, !103} -!5283 = !{!5284} -!5284 = distinct !{!5284, !5285, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_: %agg.result"} -!5285 = distinct !{!5285, !"_Z14__invoke_expm1IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_ET_T0_"} -!5286 = distinct !{!5286, !103} -!5287 = !{!5288} -!5288 = distinct !{!5288, !5289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE648_clEv: %agg.result"} -!5289 = distinct !{!5289, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE648_clEv"} -!5290 = !{i32 10801794} -!5291 = !{!5292} -!5292 = distinct !{!5292, !5293, !"_Z13__invoke_log2IN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!5293 = distinct !{!5293, !"_Z13__invoke_log2IN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!5294 = !{!5295} -!5295 = distinct !{!5295, !5296, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_: %agg.result"} -!5296 = distinct !{!5296, !"_Z14__invoke_atan2IN4sycl3_V13vecINS1_6detail9half_impl4halfELi3EEES6_S6_ET_T0_T1_"} -!5297 = !{!5298} -!5298 = distinct !{!5298, !5299, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE300_clEv: %agg.result"} -!5299 = distinct !{!5299, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE300_clEv"} -!5300 = !{!5301} -!5301 = distinct !{!5301, !5302, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_: %agg.result"} -!5302 = distinct !{!5302, !"_Z13__invoke_rintIN4sycl3_V13vecINS1_6detail9half_impl4halfELi8EEES6_ET_T0_"} -!5303 = !{i32 10803023} -!5304 = !{!5305} -!5305 = distinct !{!5305, !5306, !"_Z13__invoke_logbIN4sycl3_V16detail9half_impl4halfES4_ET_T0_: %agg.result"} -!5306 = distinct !{!5306, !"_Z13__invoke_logbIN4sycl3_V16detail9half_impl4halfES4_ET_T0_"} -!5307 = !{!5308} -!5308 = distinct !{!5308, !5309, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE801_clEv: %agg.result"} -!5309 = distinct !{!5309, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE801_clEv"} -!5310 = !{i32 10806788} -!5311 = !{!5312} -!5312 = distinct !{!5312, !5313, !"_Z12__invoke_powIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_: %agg.result"} -!5313 = distinct !{!5313, !"_Z12__invoke_powIN4sycl3_V16detail9half_impl4halfES4_S4_ET_T0_T1_"} -!5314 = !{!5315} -!5315 = distinct !{!5315, !5316, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!5316 = distinct !{!5316, !"_Z13__invoke_acosIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!5317 = !{!5318} -!5318 = distinct !{!5318, !5319, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_: %agg.result"} -!5319 = distinct !{!5319, !"_Z13__invoke_sqrtIN4sycl3_V13vecINS1_6detail9half_impl4halfELi4EEES6_ET_T0_"} -!5320 = !{!5321} -!5321 = distinct !{!5321, !5322, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE262_clEv: %agg.result"} -!5322 = distinct !{!5322, !"_ZZN25math_builtin_float_half__23math_builtin_float_half3runERN8sycl_cts4util6loggerEENKUlvE262_clEv"} -!5323 = !{i32 -2140788710} -!5324 = !{i32 -2140803998} -!5325 = !{i32 -2140796314} -!5326 = !{i32 -2140791170} -!5327 = !{i32 -2140801436} -!5328 = !{i32 -2140793718} -!5329 = !{i32 -2140798830} -!5330 = !{i32 435} -!5331 = !{i32 1016} -!5332 = !{i32 455} -!5333 = !{i32 578} +; uselistorder directives +uselistorder ptr @_ZN4sycl3_V16marrayIiLm5EEixEm, { 0, 4, 3, 2, 1 } From c5a76532670e4f115b006652267729e6bf3c2c5c Mon Sep 17 00:00:00 2001 From: "Lu, John" Date: Tue, 22 Aug 2023 13:43:24 -0700 Subject: [PATCH 4/4] Shorten function names Signed-off-by: Lu, John --- test/type-scavenger/equivalence.ll | 40 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/test/type-scavenger/equivalence.ll b/test/type-scavenger/equivalence.ll index 300bc35db0..edbbb8c701 100644 --- a/test/type-scavenger/equivalence.ll +++ b/test/type-scavenger/equivalence.ll @@ -8,72 +8,72 @@ ; Incorrect lookup of equivalence class leader caused an assertion failure when ; processing call instruction to this name -; CHECK-SPIRV: _ZN4sycl3_V16marrayIiLm5EEixEm -; CHECK-LLVM: _ZN4sycl3_V16marrayIiLm5EEixEm +; CHECK-SPIRV: _func0 +; CHECK-LLVM: _func0 target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64" target triple = "spir64-unknown-unknown" -define spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_() { +define spir_func void @_func1() { entry: br label %for.cond for.cond: ; preds = %for.cond, %entry - %call3 = call spir_func ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv() - %call5 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %call3, i64 0) + %call3 = call spir_func ptr addrspace(4) @_func2() + %call5 = call spir_func ptr addrspace(4) @_func0(ptr addrspace(4) %call3, i64 0) br label %for.cond } -define spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE0ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_() { +define spir_func void @_func3() { entry: br label %for.cond for.cond: ; preds = %for.cond, %entry - %call3 = call spir_func ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv() + %call3 = call spir_func ptr @_func4() %call3.ascast = addrspacecast ptr %call3 to ptr addrspace(4) - %call5 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %call3.ascast, i64 0) + %call5 = call spir_func ptr addrspace(4) @_func0(ptr addrspace(4) %call3.ascast, i64 0) br label %for.cond } -declare spir_func ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv() +declare spir_func ptr addrspace(4) @_func5() -define spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_(ptr addrspace(4) %call3.ascast) { +define spir_func void @_func6(ptr addrspace(4) %call3.ascast) { entry: br label %for.cond for.cond: ; preds = %for.cond, %entry - %call5 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %call3.ascast, i64 0) + %call5 = call spir_func ptr addrspace(4) @_func0(ptr addrspace(4) %call3.ascast, i64 0) br label %for.cond } -define spir_func void @_ZN4sycl3_V18lgamma_rINS0_6marrayINS0_6detail9half_impl4halfELm5EEENS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE0EEEEENSt9enable_ifIXaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Eaaaasr6detailE14is_multi_ptr_vIT0_Esr6detailE26has_writeable_addr_space_vISF_Esr6detailE20is_valid_elem_type_vISF_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_() { +define spir_func void @_func7() { entry: br label %for.cond for.cond: ; preds = %for.cond, %entry - %call3 = call spir_func ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE1ELNS4_9decoratedE0EEdeEv() - %call5 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %call3, i64 0) + %call3 = call spir_func ptr addrspace(4) @_func5() + %call5 = call spir_func ptr addrspace(4) @_func0(ptr addrspace(4) %call3, i64 0) br label %for.cond } -declare spir_func ptr @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE1EEdeEv() +declare spir_func ptr @_func4() -declare spir_func ptr addrspace(4) @_ZNK4sycl3_V19multi_ptrINS0_6marrayIiLm5EEELNS0_6access13address_spaceE0ELNS4_9decoratedE0EEdeEv() +declare spir_func ptr addrspace(4) @_func2() -define spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) %this, i64 %index) { +define spir_func ptr addrspace(4) @_func0(ptr addrspace(4) %this, i64 %index) { entry: %arrayidx = getelementptr [5 x i32], ptr addrspace(4) %this, i64 0, i64 %index ret ptr addrspace(4) null } -define spir_func void @_ZN4sycl3_V16remquoINS0_6marrayINS0_6detail9half_impl4halfELm5EEES6_NS0_9multi_ptrINS2_IiLm5EEELNS0_6access13address_spaceE1ELNS9_9decoratedE1EEEEENSt9enable_ifIXaaaaaasr6detailE11is_marray_vIT_Esr6detailE20is_valid_elem_type_vISE_fdS5_Esr6detailE24check_all_same_op_type_vISE_T0_Eaaaasr6detailE14is_multi_ptr_vIT1_Esr6detailE26has_writeable_addr_space_vISG_Esr6detailE20is_valid_elem_type_vISG_NS3_15change_elementsIiSE_E4typeEEESE_E4typeESE_SF_SG_() { +define spir_func void @_func8() { entry: br label %for.cond for.cond: ; preds = %for.cond, %entry - %call8 = call spir_func ptr addrspace(4) @_ZN4sycl3_V16marrayIiLm5EEixEm(ptr addrspace(4) null, i64 0) + %call8 = call spir_func ptr addrspace(4) @_func0(ptr addrspace(4) null, i64 0) br label %for.cond } ; uselistorder directives -uselistorder ptr @_ZN4sycl3_V16marrayIiLm5EEixEm, { 0, 4, 3, 2, 1 } +uselistorder ptr @_func0, { 0, 4, 3, 2, 1 }